SEO продвижение сайтов

Что нового в php 7

Скорость php 7 по сравнению с php 5 увеличилась почти 3 раза, а реально в 2 раза. Такой резкий скачок произошёл в том числе и из-за кэширования, которое часто мешает, его можно отключить или в php.ini (ищем через phpinfo();) если сервер локальный или в .htaccess:

Отключаем кэширование в php 7

php_flag opcache.enable off
php_flag xcache.cacher off

Пространства имен в PHP 7

Пространства имен в PHP 7 можно теперь использовать так...

<?php
use Gena\papka1;//Пространства имен в PHP - раньше
use Gena\papka2;

use Gena\{//теперь можно так...
papka3,
papka4,
papka5
};
...
?>

Условие ?? - определена ли переменная:

<?php

//$var='Переменная определена';
echo $var ?? 'Переменная НЕ определена';

?>

Можно проверять сразу много переменных:

//$var1='Переменная определена 1';
//$var2='Переменная определена 2';
//$var3='Переменная определена 3';
echo $var1 ?? $var2 ?? $var3 ?? 'Переменные НЕ определены';//Если ВСЕ НЕ определены

Если хоть одна переменная определена, то будет отдавать значение первой определенной переменной.

Оператор спейcшип - <=>

Оператор spaceship (космический корабль). Этот оператор предназначен для сравнения двух выражений и возвращает только три варианта ответа:

  • -1 - если меньше
  • 0 - если равно
  • 1 - если больше

echo 1<=>2;//-1, 1 меньше 2
echo 2<=>2;// 0, 2 равно 2
echo 3<=>2;// 1, 3 больше 2

Строгая типизация

Строгая типизация аргументов переданных в функцию, а также значений отдаваемых функцией.

function f1(int $a, int $b): int//Можно: int, float, string, bool, array
{
return $a*$b;//30
}
//echo f1(5,"A");//Выдаёт ошибку
echo f1(5, 6);//30

Анонимные классы

Анонимные классы в php 7 (классы без имени) полезны, когда нужно создать простые, одноразовые объекты.

$ob=new class
{
public function getName($name)
{
echo $name;
}
};

$ob->getName('Гена');//Гена

Анонимные классы могут передавать аргументы в конструкторы, расширять другие классы, реализовывать интерфейсы и использовать трейты как обычный класс.

Функции random_bytes() и random_int()

Функция random_bytes() возвращает строку и принимает в качестве входных параметров int, задающий длину (в байтах !!!) возвращаемого значения:

$bytes=random_bytes(10);
var_dump(bin2hex($bytes));//string(20) "960770f947965c34d02a"

Функция random_int() возвращает целое число в заданном диапазоне:

echo random_int(1,100);//55 - от 1 до 100

Поддержка юникода

echo "\u{1f602}"//Смайлик

Убрали теги <% код %>

В php 7 окончательно убрали теги <% код %>.

Добавить комментарий


Защитный код
Обновить

Ошибки в тексте выделить и Ctrl+Enter


Расскажи о нас друзьям

Web-технологии

Подключение к MySQL в PHP

Примеры кода:

    
    //Это данные для подключения к MySQL
    $host='localhost'; // адрес сервера 
    $user='root';      // Login
    $pass='';          // Пароль
    $base='sasha';     // Имя базы данных<>

    echo '<h2>У вас PHP '.phpversion()."версия</h2>\n";
Подробнее...

Интерфейсы и трейты в PHP

Интерфейсы в ООП PHP

Интерфейсы (interface) - это класс, в котором все методы являются абстрактными (abstract) и открытыми (public). В интерфейсе ООП PHP можно задать задать только имена методов и их параметры, а реализованы они обязаны быть в расширяемых ими классах.

Для реализации интерфейса мы используем ключевое слово implements. Класс может реализовать более одного интерфейса, которые разделяются запятыми. Как и классы, интерфейс может содержать константы, которые запрещено переопределять.

Трейты в ООП PHP

Трейты (trait) - это механизм обеспечения повторного использования кода в PHP с учетом одиночного наследования. Трейт отчасти реализует множественное наследование, позволяя разработчику повторно использовать наборы методов свободно, в нескольких независимых классах.

Трейт похож на класс, но создать экземпляр трейта невозможно. Он предназначен для группирования функционала, который потом используется в разных классах с помощью директивы use. Нужные для использования в классе трейты можно указать через запятую.

Код примера:

Подробнее...

Шаблоны проектирования в PHP - паттерны

Шаблон проектирования или паттерн (англ. design pattern) - оптимальный и оригинальный подход в решении типичных, частовстречающихся задач. Эти подходы, приёмы имеют свои названия и используются почти во всех объектно-ориентированных языках программирования.

Паттерны можно классифицировать по назначению (цель, результат) и по тому, к чему обычно применяется к объектам или к классам.

  • Поведенческие (behavioral)
    • цепочка обязанностей (Chain of Responsibility);
    • команда (Command);
    • итератор (Iterator);
    • посредник (Mediator);
    • хранитель (Memento);
    • наблюдатель (Observer);
    • посетитель (Visitor);
    • стратегия (Strategy);
    • состояние (State);
    • шаблонный метод (Template Method).
  • Порождающие (creational)
    • простая фабрика (Simple Factory);
    • фабричный метод (Factory Method);
    • абстрактная фабрика (Abstract Factory);
    • строитель (Builder);
    • прототип (Prototype);
    • одиночка (Singleton).
  • Структурные (structural)
    • адаптер (Adapter);
    • мост (Bridge);
    • компоновщик (Composite);
    • декоратор (Decorator);
    • фасад (Facade);
    • приспособленец (Flyweight);
    • заместитель (Proxy).
Подробнее...
Интересные статьи

Стишки-депрессяшки

Стишки-депрессяшки

У меня нет попы

у меня нет тить

я должна работать

чтобы как то жить

©

В камасутре много

интересных поз

жаль у нас с женою

остеохондроз

©

Надо же приснится

всякая херня

прямо на работе

среди бела дня

Подробнее...

Почему или резонные вопросы

Почему или резонные вопросы

Хотель бы получить ответы на такие вопросы:

  1. Почему современные технологии одновременно позволяют производить банки для пива, которые не разлагаются на свалке за 100 лет, и кузова автомобилей, которые гниют за 3-4 года?
  2. Почему лимонный сок сделан из концентрата, а средство для мытья посуды – из настоящего лимона?
  3. Почему белая нитка, которой соединены новые носки, всегда оказывается прочнее, чем нитки, из которых сделаны сами носки?
Подробнее...

Детские загадки для взрослых

murzilka m

*Загадки, которые были опубликованы в журнале "Мурзилка" 30 лет назад!!! Сегодня они не для детей точно: ))*

1. Чтобы спереди погладить, нужно сзади полизать. (Почтовая марка)

2. Кругом волоса, посредине колбаса. (Кукуруза)

3. Сверху черно внутри красно, как засунешь так прекрасно. (Галоши)

Подробнее...

Оставить заявку

Закрыть
Заполните фрму и отправьте нам заяку
Заполните все обязательные поля*
captcha
Перезагрузить