PHP: различия между версиями
Перейти к навигации
Перейти к поиску
Artem (обсуждение | вклад) (→CMS) |
Artem (обсуждение | вклад) Нет описания правки |
||
Строка 41: | Строка 41: | ||
* references in list assignments | * references in list assignments | ||
= | == 8.0 == | ||
* | * https://www.php.net/releases/8.0/ru.php | ||
* | |||
* | == 8.1 == | ||
* | * https://www.php.net/releases/8.1/ru.php | ||
== 8.2 == | |||
* https://www.php.net/releases/8.2/ru.php | |||
== 8.3 == | |||
* https://www.php.net/releases/8.3/ru.php | |||
= Паттерны = | = Паттерны = |
Версия от 16:27, 3 ноября 2024
Общие сведения
История
5.3
- http://php.net/manual/ru/migration53.php
- namespaces - http://php.net/manual/ru/language.namespaces.php
- closures - http://php.net/manual/ru/functions.anonymous.php
5.4
- http://php.net/manual/ru/migration54.new-features.php
- traits - http://php.net/manual/ru/language.oop5.traits.php
- short array syntax
5.5
- http://php.net/manual/ru/migration55.php
- finally - http://php.net/manual/ru/language.exceptions.php
- generators - http://php.net/manual/ru/language.generators.php
5.6
- http://php.net/manual/ru/migration56.new-features.php
- variadic functions
- argument unpacking
7.0
- http://php.net/manual/ru/migration70.php
- return types
- scalar typehints
7.1
- http://php.net/manual/ru/migration71.php
- const visibility
- nullables
- multiple exceptions
7.2
- http://php.net/manual/ru/migration72.php
- objects type hint
- abstract function override
7.3
- http://php.net/manual/ru/migration73.php
- references in list assignments
8.0
8.1
8.2
8.3
Паттерны
- https://designpatternsphp.readthedocs.io/en/latest/README.html
- https://refactoring.guru/ru/design-patterns
- https://www.php.net/spl
Типы данных
- null
- Скалярные:
- bool
- int
- float
- string
- array
- object
- resource
- never
- void
- self, parent, static
- true, false
- null
Магические методы
- __construct(mixed ...$values = ""): void - конструктор, вызывается при new ClassName($param1, $param2, $param3)
- __destruct() - деструктор - вызывается при уничтожении объекта
- __call(string $name, array $arguments): mixed - вызывается при вызове метода с параметрами
- __callStatic(string $name, array $arguments): mixed - вызывается при вызове статического метода с параметрами
- __get(string $name): mixed - будет выполнен при чтении данных из недоступных (защищённых или приватных) или несуществующих свойств.
- __set(string $name, mixed $value): void - будет выполнен при записи данных в недоступные (защищённые или приватные) или несуществующие свойства.
- __isset(string $name): bool - будет выполнен при использовании isset() или empty() на недоступных (защищённых или приватных) или несуществующих свойствах.
- __unset(string $name): void - будет выполнен при вызове unset() на недоступном (защищённом или приватном) или несуществующем свойстве.
- __sleep(): array - Если метод определили, он выполняется перед сериализацией. Метод может очистить объект и должен вернуть массив с именами всех переменных этого объекта, которые должны быть сериализованы. Если метод ничего не возвращает, то сериализуется константа null и выдаётся предупреждение E_NOTICE.
- __wakeup(): void - восстановить соединения с базой данных, которые могли потеряться во время сериализации, и выполнить другие задачи повторной инициализации.
- __serialize(): array - Если метод определили, функция выполняется перед сериализацией. Метод должен создать и вернуть ассоциативный массив пар ключ и значение, которые представляют сериализованную форму объекта.
- __unserialize(array $data): void - Если метод определили, PHP передаст методу массив, который восстановил и вернул метод __serialize(). Затем, если нужно, метод восстанавливает свойства объекта из этого массива.
- __toString(): string - разрешает классу выбирать, как класс будет реагировать, когда с ним обращаются как со строкой.
- __invoke( ...$values): mixed - вызывается, когда скрипт пытается выполнить объект как функцию.
- __set_state(array $properties): object - Этот статический метод вызывается для тех классов, которые экспортируются функцией var_export().
- __clone(): void - После завершения клонирования, если метод __clone() определён, то будет вызван метод __clone() вновь созданного объекта для возможного изменения всех необходимых свойств.
- __debugInfo(): array - Этот метод вызывается функцией var_dump(), когда необходимо вывести список свойств объекта. Если этот метод не определили, выводится каждое свойство объекта c модификаторами public, protected и private
Суперглобальные переменные
- $GLOBALS - Ссылается на переменные глобальной области видимости
- $_SERVER - это массив (array), содержащий такую информацию, как заголовки, пути и местоположения скриптов. Записи в этом массиве создаются веб-сервером, поэтому нет гарантии, что каждый веб-сервер будет предоставлять любую из этих переменных
- $_GET - Ассоциативный массив переменных, переданных скрипту через параметры URL (известные также как строка запроса).
- $_POST - Ассоциативный массив данных, переданных скрипту через HTTP методом POST при использовании application/x-www-form-urlencoded или multipart/form-data в заголовке Content-Type запроса HTTP.
- $_FILES - Ассоциативный массив элементов, загруженных в текущий скрипт через метод HTTP POST.
- $_COOKIE - Ассоциативный массив значений, переданных скрипту через HTTP Cookies.
- $_SESSION - Ассоциативный массив, содержащий переменные сессии, которые доступны для текущего скрипта.
- $_REQUEST - Ассоциативный массив, который по умолчанию содержит данные переменных $_GET, $_POST и $_COOKIE.
- $_ENV - Ассоциативный массив значений, переданных скрипту через переменные окружения.
Установка
Синтаксис
ООП
IDE
Отладка
Организация кода
Библиотеки
CMS
- WordPress
- Drupal
- Joomla
- Livestreet
Фреймворки
- Symfony
- Laravel
- Zend Framework
- Yii
- CodeIgniter
- Nette Framework
- CakePHP
- Slim