PHP: глобальна змінна функції

Кардинальні, але ефективні хитрощі

Програмісту на PHP глобальна змінна потрібна завжди, а не тільки тоді, коли браузер зайшов на веб-ресурс або відвідувач вирішив оновити сторінку. Програміст взагалі може бажати, щоб вся створена ним система об’єктів існувала не від випадку до випадку, а постійно.

Веб-ресурс розроблено, створено. Значить, всі його сторінки повинні «жити», якщо не вічно, то хоча б в контрольованому діапазоні часу. Між візитами відвідувачів теж.

Є лише один вірний спосіб змінити хід речей: оголосити глобальну змінну PHP в браузері. Це суперечить здоровому глузду і може завдати шкоди питань безпеки, але це класна і цікава ідея.

Що стосується безпеки, це турбота програміста. Завдання просте і вирішується. Що стосується абсурдності, це не так. Використовуючи JSON, механізм AJAX і власну уяву, можна перенести центр ваги з сервера в браузер і створити там той варіант відображення даних на кількість глобальних змінних PHP, яке необхідно.

Вкладення областей видимості

Все, що оголошено поза межами тел функції, об’єкта або методу об’єкта, що належить усім. Але для використання загальних (глобальних) змінних в потрібному місці слід застосувати ключове слово global.

В цьому прикладі в конструкторі і функції об’єкта scStartView() доступні всі змінні, які перераховані за ключовим словом global. Яке саме вони несуть у собі значення, як саме їх можна використовувати, знає тільки програміст. На PHP глобальні змінні в функцію приходять тільки по іменах. Інше визначає програміст.

Під тілом функції, об’єкта або методу об’єкта слід розуміти все те, що знаходиться всередині «{ … }». Фігурні дужки – це межі локальної області видимості. Функція, описана всередині іншої функції, має свою область видимості. Ніякої код не може проникнути в локальну область видимості.