Операторите за сравнение са често непрочетени и пропускани, в следствие на което водят до неочаквани изходи. Един пример
се крие в стриктните сравнения (сравняването на булева стойност с цяло число).
Като се ползват конструкциите ‘if и else’ в фунцкия или клас, съществува забуда,
че ‘else’ трябва да бъде ползван за да укаже потенциален изход. Но когато случаят е,
че трябва да върне стойност, ‘else’ не е нужен, той като ‘return’ ще прекрати
функцията и ‘else’ ще бъде пропуснат.
Конструкцията switch е великолепен начин за избягване на писане на безкрайни if/elseif/else, но трябва да се запознаете
с някои неща относно конструкцията switch:
Конструкциата switch сравнява единствено по стойност, а не по тип (еквивалентно ‘==’)
Те обхождат всеки един case последователно докато не достигне съвпадение. Ако не намери съвпадение, тогава отива на default (ако е описан)
Без ‘break’, ще продължат изпълнението надолу по кода докато не достигнат break/return или край на switch.
Когато се намира в функция ‘return’ преждевременно прекратява switch-а и връша стойността от функцията, което премахва нуждата от последвал break
Когато се ползват постранства от имена, може да намерите вашият код да се изпълнява в грешен обхват (scope) за вътрешни
методи. За да оправите това дефинирайте метода глобално, като добавите обратна наклонена черта пред името на метода.
Надяваме се с тази секция да обясним разликите между типовете
низове и техните предимства и начини за ползване.
Апострофи
Поставяне в апострофи е най-простият начин за дефиниране на низ и често най-бързият. Скоростта се крие в това,
че PHP интерпретатора не прави разбор на низа (за променливи). Този тип е най-добър за:
Поставянето в кавички представлява швецарско ножче за работа с низове, но е по-бавни защото трябва да им се прави разпознаване.
Най-добре служат за:
Екранирани низове
Низове с множество променливи и чист текст
Сбиване на многоредова конкатенация и подобравяне на четимостта
Когато се ползват двойни кавички, които съдържат променливи, често се случва променливата да се допира до
друг символ. Тогава PHP няма да разпознае променливата, защото е скрита. За да оправим този проблем,
Ограждаме променливаа в къдрави скоби.
Синтаксисът Nowdoc се появява за първи път в 5.3 и вътрешно действа като единични кавички, за разлика от това че е пригоден
за ползване при многоредови низове без нуждата от конкатенация.
Условените оператори са страхотен начин за сбиване на код, но често се прекалява с използването им.
Вътреки, че те могат да се вместят един в друг, препоръчва се да се използва само по един на линия
с цел четимост.
Тройните оператори, също имат ограниения и не могат да бъдат ползвани за връшане (‘return’) на стойност.
Понякога, програмистите опитват да пишат “по-чист” код, като предефинират променливи с друго име. Реално това
удвоява заетата памет от конкретния скрипт. За примера по-долу, нека кажем че примерният низ съдържа данни
заемащи 1МБ памет. При копирането им в променлива, се увеличава използваната памет до 2МБ.