пятница, 30 июня 2017 г.

LARAVEL. КЛАССЫ-ПОСРЕДНИКИ

Классы-посредники или Middleware - фильтры обработки http-запросов.
Например, если пользователь не авторизован, то класс-посредник отправляет его на страницу авторизации.
Это некие слои, которые должен пройти запрос прежде чем он будет обработан. Если запрос не проходит, то он куда-либо перенаправляется.
Запросы по цепочке передаются от посредника к посреднику.

четверг, 29 июня 2017 г.

LARAVEL. КОНТРОЛЛЕРЫ

Контроллеры позволяют вынести код обработчика роутера в отдельный файл.
Контроллер решает какой вид использовать и какие данные запросить у модели. Вместо функции запрос пользователя обрабатывает контроллер.
Адрес контроллеров: \app\Http\Controllers
Имя файла должно соответствовать имени будущего класса: FirstController.php

вторник, 27 июня 2017 г.

LARAVEL. МЕТОДЫ РЕГИСТРАЦИИ МАРШРУТОВ

Машрутизация - получение части запроса пользователя, который следует после базового url и ее разложения на параметры для определения того, какой контроллер и какое действие данного контроллера должны выполнить поставленный запрос. И передача управления определенному контроллеру.
Это процесс разбора части URI и поиска совпадения с описанным ранее маршрутом или роутером.
И последующим вызовом на исполнение обработчика найденного маршрута.

понедельник, 26 июня 2017 г.

LARAVEL. ПРИНЦИП ДЕЙСТВИЯ ФРЕЙМВОРКА

Использует MVC.
Вид - это шаблон. Он не содержит логики. Контроллер - блок, который получает данные от пользователя. Обрабатывает, нормализует, проверят правильность ввода. И передает данные в модель.
Контроллер не должен содержать никакой информации о внешнем виде приложения.
Модель - основа логики приложения. Отвечает за расчеты, выборку информации из БД, изменение информации в БД и т. д. Моделью можно представить библиотеку функций.

воскресенье, 25 июня 2017 г.

LARAVEL. НАСТРОЙКИ ФРЕЙМВОРКА

Настройки в файле .env

LARAVEL. ФАЙЛОВАЯ СТРУКТУРА ФРЕЙМВОРКА

app - основная логика: модели, контроллеры, посредники и промежуточные фильтры, роутеры.
По умолчанию все классы данного каталога описаны в пространстве имен App, но мы можем назначить свое пространство имен.
Благодаря пространству имен обеспечивается автоматическая загрузка классов по стандарту PSR4.
Пространство имен формирует путь к файлу, в котором описан данный класс.

суббота, 24 июня 2017 г.

PHP. Логические операции

<?php
// Логические операции
$x = 10;
$y = 0;
$b_1 = $x > 10;
$b_2 = $y == 0; // == - проверка на равенство
echo "x = $x; y = $y <br />";
echo "x > 10 = $b_1; (y == 0) = $b_2 <br />"; // x > 10 = ; (y == 0) = 1

$b_1 = true;
$b_2 = false;
echo "b_1 = $b_1; b_2 = $b_2 <br />"; // b_1 = 1; b_2 =

// Логическое отрицание:
echo 'Отрицание b_1: '.!$b_1.'<br />'; // Отрицание b_1: | Меняет true на false.

// Логическое сложение:
echo 'b_1 ИЛИ b_2: '.($b_1 || $b_2).'<br />'; // 1. Возвращают истину, если один или оба значения равны true.
// Как запомнить: 0+1 = 1, 1+1 = 2, 0+0=0

// Логическое умножение:
echo 'b_1 И b_2: '.($b_1 && $b_2).'<br />'; // false. Возвращают истину, если оба значения равны true.
// Как запомнить: 0*0 = 0, 0*1 = 0, 1*1 = 1

// Исключающее ИЛИ:
echo 'b_1 Исключающее ИЛИ b_2: '.($b_1 xor $b_2).'<br />'; // 1. Возвращают истину, если значения операндов имеют разные значения.

echo (!($b_1 && $b_2) xor (!$b_1 || $x < 10)) . '<br />'; // 1

// Проверка на эквивалентность
$x = 5;
$y = '5';
echo 'Результат проверки на равенство x и y ' . ($x == $y) . '<br />'; // 1
echo 'Результат проверки на эквивалентность x и y ' . ($x === $y) . '<br />'; // false. Равенство значений одного типа.

Миникурс по Laravel. Урок 6.

Реализуем механизм удаления статьи.
В routes/web.php

четверг, 22 июня 2017 г.

PHP. Строковые операции

<?php
// Строковые операции
$s_1 = "My string";
$s_2 = "New string";

Миникурс по Laravel. Урок 3.

Используемые функции:
all() делает выборку всех полей, возвращает объект класса collection.
select() позволяет указать выбираемые поля.
dump() распечатывает массивы и объекты

Миникурс по Laravel. Урок 2.

Используемые методы:
with - вернуть переданный объект. Полезно при сцеплении методов в PHP 5.3.x.

asset - сгенерировать URL ко внешнему ресурсу (изображению и пр.).
$url = asset('img/photo.jpg');

Миникурс по Laravel. Урок 1.

среда, 21 июня 2017 г.

PHP. Математические операции

<?php
   // Математические операции

CakePHP3. Пишем сайт по уроку из Youte.

Ссылка на урок: https://www.youtube.com/watch?v=pCB5ShwtHdw&t=472s

CakePHP3. Установка консоли для CakePHP3 в Windows

Если вы используете XAMPP.
В системных путях нужно прописать в системных переменных путь к нашему php.
C:\xampp\php

CakePHP3. Как установить CakePHP3 на Windows

Версия PHP должна быть не ниже 5.6. В php.ini должны быть включено openssl.

вторник, 20 июня 2017 г.

PHP. Константы

<?php
// Константы - величина, которая никогда не меняет своего значения.
// Согласно стандартам название константы пишется с большой буквы.

PHP. Ссылочные переменные

<?php
// Ссылочные переменные

// Первый тип ссылочных переменных - жесткие ссылки.
// Жесткая ссылка - копия той же самой переменной, но уже с другим именем.
// Разные переменны ссылаются на одну и ту же область памяти.
// Любые манипуляции с переменной а будут затрагивать переменную b и наоборот, т.к они ссылаются на одну и ту же ячейку памяти.

суббота, 17 июня 2017 г.

Materialize-css. Футер

Сделаем футер и прижмем к низу страницы. Документация: https://materializecss.com/footer.html