|
|
|
| Я изучаю пхп по книге. В ней приводится множество различных примеров функций. Я попробовал написать свою функцию, но даже не понял с чего начать? Есть ли какие-то рекомендации, методы по этому вопросу?
Если я правильно понимаю, в функции заключают часто повторяющийся код программы. Т.е. я, например, пишу код не используя функции (только стандартные) и замечаю, что есть куски кода которые часто повторяются. Эти куски я должен оформить как функцию? И потом вызывать их когда нужно? Так?
Или как-то по-другому? Посоветуйте новичку, пожалуйста... | |
|
|
|
|
|
|
|
для: simbel
(13.07.2007 в 17:33)
| | Если я правильно понимаю, в функции заключают часто повторяющийся код программы. Т.е. я, например, пишу код не используя функции (только стандартные) и замечаю, что есть куски кода которые часто повторяются. Эти куски я должен оформить как функцию? И потом вызывать их когда нужно? Так?
В принципе да. Но функции надо создавать не когда уже видишь, что куски кода повторяются, а когда только проектируешь что-либо.
Бывают случаи, когда использование функции является обязательным, например, рекурсия. Но со временем сам поймешь. | |
|
|
|
|
|
|
|
для: Ziq
(13.07.2007 в 17:49)
| | Но функции надо создавать не когда уже видишь, что куски кода повторяются, а когда только проектируешь что-либ.
Тогда такой вопрос. Можно ли где-нибудь в онлайне почитать по вопросу проектирования движка или скрипта. Может кто занет. Киньте ссылочку. Пожалуйста. | |
|
|
|
|
|
|
|
для: simbel
(13.07.2007 в 17:55)
| | Честно говоря не знаю где про это можно почитать, но посоветую просто попробовать разработать какой-нибудь простенький скрипт (например гостевую книгу). На месте и разберетесь. Пару дней придется конечно помучиться, но потом начнете понимать что к чему. | |
|
|
|
|
|
|
|
для: simbel
(13.07.2007 в 17:33)
| | >Если я правильно понимаю, в функции заключают часто повторяющийся код программы.
Т.е. я, например, пишу код не используя функции (только стандартные) и замечаю, что есть куски кода которые часто повторяются. Эти куски я должен оформить как функцию? И потом вызывать их когда нужно? Так?
Правильно понимаете.
Если Вы видите что некоторые одинаковые (или очень похожие вычисления) нужно производить в разных местах (возможно - над разными входными данными), Вы выносите их в функцию.
Создавая функцию, Вы даете ей имя, определяющее суть заключенных в ней вычислений, и в в скобках перечисляете параметры, от которых может зависеть результат.
Эти параметры - переменные, которые будут существовать только в процессе выпоолнения функции при очередном её вызове, и будут видны только внутри функции.
Затем в фигурных скобрах пишется набор выполняемых операторов.
Результат можно вернуть оператором return.
function parallel_resistance($r1, $r2)
{
$rr = ($r1 * $r2) / ($r1 + $r2);
return $rr;
}
|
| |
|
|
|
|
|
|
|
для: Trianon
(13.07.2007 в 18:32)
| | А еще для написания функций полезно изучить вопрос области видимости переменных (global,static...) | |
|
|
|
|
|
|
|
для: Ralph
(13.07.2007 в 19:51)
| | А вот это на первых порах изучать крайне вредно.
Область видимости переменных должна быть ограничена функцией.
Применение глобальных областей видимости допустимо лишь при столь веских причинах, что автор такого скрипта даже задумываться не будет что такое функции и с чем их едят. | |
|
|
|
|
|
|
|
для: Trianon
(13.07.2007 в 22:15)
| | Ага,я вспомнил себя,когда "даже не задумывался что такое функции и с чем их едят" и какие у меня были глаза,когда я совершенно случайно наткнулся на статью о переменных и от скольких своих функций мне пришлось отказаться из за незнания такой элементарной вещи,как global $a; ... :( | |
|
|
|