PHP конструкция: създаване на копия на класове
Идеята за обектно-ориентирано програмиране е много по-широка от възможностите на PHP поради неговите специфики, но дори и в съществуващото изпълнение той дава на програмиста неограничени възможности. PHP конструкцията е специален метод на клас (обект), който се нарича всеки път, когато се създава инстанция от класа.
съдържание
Ограничението е, че PHP работи по време на образуването на страницата. В момент, когато опресняване на страницата или зареден друга страница на същото място, на необходимите системни обекти формира отново от нулата.
Създаване на пример за класа
Описание на класа Не е нужно да имате конструктор. Ако трябва да се подготвят първоначалните стойности на променливи, за да улови момента на създаване на клас инстанция (обект) за извършване на определени действия по други предмети, не можете да използвате PHP клас синтаксис конструкция и пишат съответния код извън методите на класа.
Според логиката на обектно-ориентирания стил на програмиране, всеки клас трябва да има конструктор, освен това е необходимо да се започне класовото дърво от най-абстрактния (абсолютно празен) предшественик. Това е реликва от миналото, а не разумна практика.
Когато родословието започва със смислен клас, който има свои собствени данни и свойства, свързани с външни данни (обекти), функционалните рутинни процедури не могат да бъдат премахнати.
В този пример функцията (конструктор) се нарича да се създаде (PHP конструкт) датата на инстанция клас. Той разполага с конкретно име и се нарича __construct машина само веднъж, когато се създава инстанция клас.
Този клас осигурява статична променлива $ iUniqueNo, която във всеки нов случай от този клас ще има уникална стойност. Случаите на класове нямат нищо общо освен описание в рамките на синтаксиса на PHP и планираното от разработчика взаимодействие на техните методи.
Наследяване на инициализиращата логика
Всеки обект трябва да осъзнава своята цел, да има какво има и да прави това, което трябва. От такава разумна гледна точка инициализацията на всяко ниво на родословието може да включва инициализация във всеки предшественик, наречен от низходящото ниво.
В този пример ключовата дума parent :: ви позволява да се обадите на конструктора на родителя от нивото на детето. Семантиката е проста. Първо, предшественикът трябва да извърши своята инициализация, а след това и настоящият пример. Първият следва своята логика, а втората - собствена.
Когато всеки обект се занимава със собствен бизнес, цялостният процес изглежда правилен и разбираем. Но това правило не трябва да се счита за норма за всички системи от обекти.
Родословие система обекти "храна" в първо приближение може да има нещо общо, но продуктите са мляко, диня, тестени изделия и зърнени храни, въпреки че те принадлежат към една такава система, но те изглеждат и са описани по съвсем различен начин.
Разработчикът трябва да изгради всяка система от обекти от областта на приложение, а не от начина, по който някога е била предложена от някого. Всяка задача е уникална, изискването да я използвате в основната конструкция на PHP не е абсолютно.
Общи и частни конструктори
По подразбиране конструкторът е родов и е достъпен за употреба от всички потомци. Не е необходимо да се уточнява публична функция конструкция, PHP по подразбиране третира всичко, описано като родово.
Колко има смисъл да се използва ключова дума в описанието на конструкторите - спецификата на задачата, характеристиката на процеса на разработка или предпочитанията на програмиста?
От концептуална гледна точка, родословието на обектите може да позволи всякакви забрани на предци във връзка с потомци, но колко е разумна логика да се каже трудна във всеки случай в общ контекст.
Живот на обекта
понятие обектно-ориентирано програмиране още функции на PHP construct клас по простата причина, че последната съществува само в момента на образуване на страницата, нейното повторно създаване или създаване на друга страница на сайта.
Участието на AJAX през браузъра jаvascript и правилния код на сървъра ще спомогне за удължаването на живота на обектите, но във всяка версия ще бъде ограничен стил.
PHP предоставя възможността да стартирате скрипта на сървъра, когато клиентът е "изключен" и "приемам" клиентът връща към сценария ги използвате и преди, но това не е опция, когато обектно-ориентиран Програмата се изпълнява в C ++.
В последния случай можете да изградите цялостна система от обекти, които ще съществуват "завинаги", докато програмата работи и работи. Това обаче е единственото нещо, което стационарният програмен език като C ++, C #, PascalDelphi може да се похвали. В един динамичен свят на интернет, всичко е построено по различен начин, живее по-бързо и постига повече.
От сериализацията до самосъхранението
Можете да намерите историческа обосновка на термина "сериализация" и появата в ежедневието на понятието "магически методи". Но всичко е много по-просто. Точно същото като свободата на C ++ се различава от твърдостта на C #, сериализацията се различава от баналните концепции:
- напишете обект на низ;
- прочетете обекта от низа.
За да заобиколите тази магия с митични магически методи е красива, звукова, но не много практична. Светът на информацията е интересен преди всичко, защото всичко, което е видимо, чуваемо и осезаемо, може да бъде описано с прост и последователен текст.
Информацията винаги е била, е и ще бъде поредица от символи. Няма значение каква природа. В официалните конструкции на езиците за програмиране характерът на героите е една - кодиращата таблица.
Идеята да превърнете обект в низ, за да можете да го възстановите от този ред, без да губите същността му, ако е необходимо, е много практична идея.
От самосъхранение до саморазвитие
Семантиката на construct constructor PHP в рамките на неговия синтаксис е ограничено, но ако дизайнерът се развива от развитата позиция:
- има начало - създава се напълно ново копие -
- има текущо състояние - създава се съществуващ инстанция.
Ограниченията на PHP, тъй като системата от обекти на него съществува само в момента на образуване на страницата, ще бъдат премахнати сами.
Създаване на система от обекти при създаване на страница на сайта, можете да го запазите. За простота, този процес не е задължително нарича сериализация, ние можем да се ограничи запазването на статуквото (файлове с бази данни), а когато е необходимо, за да се събере отново на същата страница или да създадете друг на същия сайт, просто се възстанови текущото състояние на нещата, които вече са били оформени.
В този контекст, системата от обекти се създава само веднъж, а в процеса на сайта просто се развива. С тази схема можете да проектирате система от обекти като нещо, което се адаптира към променящите се условия на съществуване.
Самозапалената система от обекти "помни" действията на посетителите и състоянието на страницата и всеки път, когато PHP стартира, тя не се създава от нулата, а се възстановява в предишното състояние.
- Обектно-ориентирано програмиране
- Обектно ориентирано програмиране (ООП): полиморфизъм
- Java: регулярни изрази, специални знаци
- Капсулиране е какво? Капсулиране в програмирането
- ООП е какво? Основни принципи на обектно-ориентираното програмиране
- Кога беше създадена страницата в "VK"? Методи за проверка
- PHP: последният елемент. Масив в динамика
- jаvascript: typeof - нужда или нови функции
- jаvascript: Примери за приложения
- Java: InputStream. Входни потоци
- Java Generics: Описание и методи
- BigInteger Java: работи с големи числа
- jаvascript: typeof - нужда или нови функции
- Java: работа с файлове - писане, четене, изтриване
- Елементи на обектния модел на Java: абстрактен клас, интерфейс
- Стъпка / поп на
- Използване на indexOf (jаvascript) при работа с масиви и низове
- Използване на DOM елементи чрез jаvascript getElementById
- jаvascript Object: създаване на обекти и работа
- Обектно-ориентирано програмиране в Python: класове, описание и функции
- Основни принципи на ОПО и тяхното използване