Безграмотні. Покращуємо власну продуктивність із використанням допоміжних функцій PHP

Kernel::getInstance(); // Згідно Singleton

Ось скажіть, з якого переляку Ви самі післязавтра або хтось інший з відмінною від Вашої логікою, може здогадатися, що в результаті Kernel::getInstance() буде сформована сторінка? Де це написано? Замість легко зрозумілого ну хоча б

Kernel::getInstance()->showMeThePage();

Ви довго ритиметеся в коді або писатимете, а потім читатимете кілограми документації за проектом... Але це так, приказка.

Чому
Тому що конструкція Ваших об'єктів не має на увазі жодної модифікації стану об'єкта після його конструкції. Ви жорстко обмежили варіанти використання об'єкта лише через конструктор. І, так, якщо завтра Вам знадобиться додати крім $db ще якийсь об'єкт, Ви довго і нудно переписуватимете аргументи всіх залежних методів.

Ваші класи повинні бути спроектовані таким чином, щоб користувач класу мав можливість ПОВНІСТЬ впливати на поведінку екземпляра. У Вас все з точністю до навпаки. Ви передбачили лише один варіант використання класу – результат, який буде отримано після відпрацювання конструктора. Тобто Ви навіть не зможете повторно отримати той самий результат без повторної конструкції екземпляра.

Якби у Вас було хоча б так

// Тут просто вказуємо конкретні об'єкти $k = Kernel(new MySpecificDb($config),new MyOtherSpecific()); // і ми можемо будь-коли зробити все що завгодно і з цими // об'єктами і з ядром, змінивши його поведінку шляхом // підміни цих об'єктів $myDb = $k->getDatabase(); $k->setDatabase(new LogQueries($myDb)); // інший код ініціалізації // Після цього ми змушуємо ядро ​​виконати своє завдання $k->runPage();

PS. А адаптер використовується саме для адаптації одного інтерфейсу до іншого. Я спочатку не зрозумів, у чому проблема з аргументами.

-~{}~ 13.05.08 14:07:

У наздогін

Є клас Config, його методи (початкове завантаження параметрів конфігурації з БД, отримання значення параметра конфігурації по ключу) використовуються в інших методах інших класів багаторазово (Kernel, Module).

Можливо, єдиний екземпляр класу Config використовується багаторазово? Це різні речі:

1. я створив 50 екземплярів класу Config, методи кожного з яких викликалися по 1 разу – я 50 разів використовував тип Config.

2. я створив 1 екземпляр класу Config, методи якого викликалися 50 разів - я 1 раз використовував тип Config.

Яка різниця, скільки разів Ви складете два числа, якщо практична цінність типу число у програмі від цього не змінюється? Наскільки вищою є цінність типу число в програмі, яка використовує 500 різних числових значень, тобто використовує тип число 500 разів?

I назва. якостей. 1. Не вміючи читати та писати (про людину). 2. Допускаючи багато граматичних та стилістичних помилок, не відповідаючи нормам літературної мови (про текст). 3. перекл. Не відповідаючи основним вимогам якоїсь галузі знань;

Грамотно … Словник антонімів

безграмотно - Присл. до безграмотний … Український тлумачний словник

безграмотно – див. безграмотний; нареч. Безгра/мотно писати. Завод спроектований безгра/мотно… Словник багатьох виразів

безграмотно - прислівник незмінювана словникова одиниця … Орфографічний словник української мови

безграмотно - безгра/мотно… Правопис важких прислівників

Невміло, коряво, безграмотно, малограмотно, некваліфіковано, невигадливо, недбало, неосвічено, на низькому рівні, через пень колоду Словник російських синонімів. неписьменно див. невміло Словник синонімів російської. Практичний довідник М … Словник синонімів

Неосвічено, неграмотно, безграмотно Словник російських синонімів. малограмотно незмін. 1. безграмотно неграмотно 2. безграмотно неграмотно некомпетентно … Словник синонімів

На низькому рівні, кострубато, безграмотно, неграмотно, некваліфіковано, халтурно, недбало, через пень колоду, невигадливо Словник російських синонімів. невміло невигадливо, неписьменно, безграмотно, некваліфіковано, на низькому рівні; коряво (розг.)… … Словник синонімів

Книги
  • , А. Семенов , Ми живемо в часи, коли неофашизм став дуже популярною ідейною пошестю серед певного пласта молоді. Пласту поки що нечисленного, на щастя. Телебачення та газети, наші… Категорія: Суспільство Видавець: Золоте Перетин ,
  • Фатальна любов до містичного фашизму, Семенов А., ми живемо в часи, коли неофашизм став дуже популярною ідейною пошестю серед певного пласта молоді. Пласту поки що нечисленного, на щастя. Телебачення та газети, наші… Категорія:

Кожен майстер потребує відмінного набору інструментів, і веб-розробники в цьому питанні не відрізняються від інших майстрів. Допоміжні функції PHP розроблені для прискорення виконання та надання однорідності завданням, що повторюються.

Цей урок описує концепцію допоміжних функцій PHP та процес написання узагальненого коду, який можна використовувати знову і знову. Дані функції прискорюють і роблять більш зрозумілим процес розробки програми, оскільки завдання, що повторюються, зводяться до мінімуму.

Допоміжна функція для посилань

Однією з поширених завдань, що повторюються, є написання посилань. За допомогою створення допоміжної функції для цього завдання ми можемо скоротити час розробки програми, виключити можливість синтаксичних помилок, і зробити код більш простим для модифікації, якщо файл буде видалено або сайт переміщений на інший домен. Для початку напишемо дуже просту функцію у файлі helpers.php: