Люблю то, что делаю!
С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418
|
Добавлено: 01/11/14 в 19:52 |
написал функцию, отдаю ей определенные значения, а она создает или перезаписывает файл согласно данным.
Возник вопрос, функция должна, что то отдавать основному скрипту, который к ней обращается или это не требуется?
грубый пример
Код: [развернуть] | function myFile($data, $fileName){
file_put_contents($fileName, $data);
} |
вроде как функция отработала, но х.з.
как правильно поступить?
Спасибо!
|
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 01/11/14 в 20:15 |
можно так:
Код: | function myFile($data, $fileName){
return file_put_contents($fileName, $data);
}
if(myFile($data, $fileName)!==false) {it's ok!}
else {bad}
|
|
|
|
|
www.phpdevs.com
С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105
|
Добавлено: 01/11/14 в 20:17 |
Если результат работы функции тебя не интересует, то и можно ничего не отдавать. Т.е. смысла нет выполнять операцию, которая не требуется. Ну разве для красоты и на будущее "а вдруг когда понадобиться".
|
|
Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.
|
8
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 01/11/14 в 20:17 |
аа, ну и вопрос не верный: "функция должна, что то отдавать основному скрипту", надо по-другому - "скрипт не продолжит выполняться до тех пор, пока не отработает функция"
|
|
|
|
продаю базы адалт кейвордов
С нами с 09.11.02
Сообщения: 9045
Рейтинг: 3772
|
Добавлено: 01/11/14 в 21:08 |
Функция должна возвращать значение... на то она и функция.
В твоем случае это, к примеру, может быть 1 если всё удалось, или 0 - если что-то пошло не так... или, как ibiz нписал (то ж самое, в принципе).
Т.е. нельзя сказать, что ты написал неправильно... но не красиво, и не по понятиям
|
|
сдам подпись, стучите в личку
|
8
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 01/11/14 в 21:19 |
ivango писал: | Функция должна возвращать значение... на то она и функция.
В твоем случае это, к примеру, может быть 1 если всё удалось, или 0 - если что-то пошло не так... или, как ibiz нписал (то ж самое, в принципе).
Т.е. нельзя сказать, что ты написал неправильно... но не красиво, и не по понятиям |
только надо внимательнее смотреть и знать, что функция file_put_contents возвращает, например: <? echo @file_put_contents("test.txt","");?> вернет 0, без ошибок, а эта <? echo @file_put_contents("test.txt","12");?> уже вернет 2 и тоже без ошибок
|
|
|
|
Люблю то, что делаю!
С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418
|
Добавлено: 01/11/14 в 21:34 |
т.е. по ходу функции, если она отработала до конца, она должна выдать что-то основному скрипту через return
Типа, я всё сделала, всё ок или была ошибка и как бы продолжение дальнейших действий не целесообразно.
Т.е. TRUE - это всё отлично
и FALSE - был косяк.
Тогда такой вопрос, как правильно сделать запись чтоб функция отдавала через return основному скрипту либо TRUE либо FALSE.
return TRUE; или return bool(TRUE);
или как то иначе?
|
|
|
|
Люблю то, что делаю!
С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418
|
Добавлено: 01/11/14 в 21:39 |
тем самым возвращая в основной скрипт true или false мы можем убедиться стоит ли продолжать работу дальше или остановиться.
|
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 01/11/14 в 21:47 |
Lexikon писал: |
Тогда такой вопрос, как правильно сделать запись чтоб функция отдавала через return основному скрипту либо TRUE либо FALSE.
|
вот же:
Код: | function myFile($data, $fileName){
return file_put_contents($fileName, $data);
}
//если функция отработала без ошибок, то ок
if(myFile($data, $fileName)!==false) {it's ok!}
else {bad} |
TRUE она не возвращает, а возвращает кол-во записанных в файл символов или FALSE при ощибке
|
|
|
|
+ +
WP-Master
С нами с 17.01.13
Сообщения: 1922
Рейтинг: 1123
|
Добавлено: 01/11/14 в 22:14 |
зачем выносить это все в отдельную функцию если это можно задать в аргументе if?
|
|
|
|
Люблю то, что делаю!
С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418
|
Добавлено: 02/11/14 в 07:40 |
ibiz писал: | вот же:
Код: | function myFile($data, $fileName){
return file_put_contents($fileName, $data);
}
//если функция отработала без ошибок, то ок
if(myFile($data, $fileName)!==false) {it's ok!}
else {bad} |
TRUE она не возвращает, а возвращает кол-во записанных в файл символов или FALSE при ощибке |
меня просто смутил тот момент, что в данном примере тело функции в одну строку и как раз return и возвращает эту одну строку, а если строк много.
Есть еще такой момент:
Код: [развернуть] | <?php
$menuObject = "рутекст";
echo "<i><a href=\"./page/?subcat=".urlencode($menuObject)."\">".$menuObject."</a></i><br />";
?> |
Почему если это вывожу на экран, "рутекст" кодируется, если навести курсор на саму ссылку, то там "рутекст" не кодирован и соответственно когда кликаю по такой ссылке, параметр соответственно передается тоже не кодированым.
|
|
|
|
С нами с 20.01.03
Сообщения: 18003
Рейтинг: 9760
|
Добавлено: 02/11/14 в 08:01 |
|
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 02/11/14 в 08:47 |
Lexikon писал: |
Есть еще такой момент:
Код: | <?php
$menuObject = "рутекст";
echo "<i><a href=\"./page/?subcat=".urlencode($menuObject)."\">".$menuObject."</a></i><br />";
?> |
Почему если это вывожу на экран, "рутекст" кодируется, если навести курсор на саму ссылку, то там "рутекст" не кодирован и соответственно когда кликаю по такой ссылке, параметр соответственно передается тоже не кодированым. |
с рутекстом надо проверять кодировки, лучше если это везде будет UTF-8, как стандарт, в том числе весь текст в исходнике
|
|
|
|
Люблю то, что делаю!
С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418
|
Добавлено: 02/11/14 в 18:08 |
так в том то и дело, что везде UTF-8.
Х.з. в чем проблема.
|
|
|
|
www.phpdevs.com
С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105
|
Добавлено: 02/11/14 в 18:30 |
Lexikon писал: | Почему если это вывожу на экран, "рутекст" кодируется, если навести курсор на саму ссылку, то там "рутекст" не кодирован и соответственно когда кликаю по такой ссылке, параметр соответственно передается тоже не кодированым. |
Имхо это от браузеров зависит уже.
|
|
Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.
|
0
|
|
|
С нами с 05.05.05
Сообщения: 1913
Рейтинг: 1134
|
Добавлено: 03/11/14 в 10:53 |
Код: | function myFile($data, $fileName) {
return file_put_contents($fileName, $data) !== FALSE;
} |
|
|
|
|