Имате повтаряем код?
Искате да преизползвате код на различни места?
В тази статия ще ви обясня как да създавате и използвате функции в PHP. Също така ще демонстрирам как се използват итератори и ще ви покажа как можете сами да си създадете итератор. Ще поговоря за Type Hinting и връщане на стойност с тип от функция. Ще покажа и част от функционалното програмиране.
Какво представляват функциите?
Функцията (или процедурата) представлява парче код, който може да се преизползва многократно. Идеята е взаимствана от математическите функции – подаваме число и след изчислението на функцията извеждаме крайния резултат. В програмирането концепцията е същата, като е възможно и да не връщаме резултат след изпълнението на функцията.
Използване на функции
Преди да започнем да използваме функции е добре да се научим как да създаваме такива. За пример можем да вземем функцията ucfirst, която прави първата буква в текст – главна . Използването (или извикването) на функцията става чрез изписването на нейното име и отваряне на кръгла скоба, подаване на параметър или множество параметри и затваряне на кръгла скоба:
Създаване на функции в PHP
Най-трудната част при създаването на функции е как да разцепим програмната логика на части. Например имаме задача за чертане на фигура и често правим повторения на специални символи. Това най-често се случва с употребата на цикли. Веднага можете да се досетите, че за сложна фигура ще има доста цикли и това е перфектен пример как можем да създадем функция. В PHP това става много лесно. Просто използваме ключовата дума function, след което пишем желаното име. Препоръчва се употребата на така нареченият Camel Case. Ето и пример за функция, която създава низ от n на брой еднакви символи.
Така би изглеждало най-простото решение. Нека да разгледаме какво се случва. Първо използвам ключовото име за създаване на функция. После изписвам името на функцията, което в случая е stringRepeat. Отварям кръгла скоба и вътре описвам параметрите заедно с техния тип. Това ще прозвучи странно, тъй като при създаване на променливи нямаме предварително определен тип. В случая обаче при употребата на функции имаме така наречения Type Hinting. Това ни „застрахова“ от дребни грешки. След като опиша входните параметри и затворя скобата слагам двоеточие, чрез което казвам какъв тип данни ще върне функцията. В случая – string. След като опиша логиката, използвам ключовата дума „return„, за да върна резултата от изпълнението.
Целият процес на кратко
- Определям къде имам повторения в кода и ги разбивам на функции.
- Създавам функциите и ги извиквам в кода.
- Накрая правя проверки дали всичко работи както трябва.
В заключение
Правилното разцепване на логиката за изграждане на функции отнема известно време. Нека не забравяме, че най-добрият учител е практиката. Колкото повече функции пишете и използвате, толкова по-добри ще станете в определянето на тяхната работа и предназначение.