PHP Academy
8.89K subscribers
98 photos
23 videos
268 links
@tombange - с вопросами
Download Telegram
Channel created
Efficient MySQL Performance

Автор:
Daniel Nichter
Год издания: 2021

#mysql #english

Скачать книгу

@phpshka
PHP Hypertext Preprocessor

Автор:
tutorialspoint.com

#php #english

Скачать книгу
Learning MySQL

Авторы:
Vinicius M. Grippa, Sergey Kuzmichev
Год издания: 2021

#mysql #english

Скачать книгу

@phpshka
Building Scalable PHP Web Applications Using the Cloud

Автор:
Jonathan Bartlett
Год издания: 2019

#php

Скачать книгу
PHP: The Ultimate Guide

Автор:
Sufyan bin Uzayr
Год издания: 2022

#php #en

Скачать книгу
PHP and MySQL Web Development (2017)

Авторы:
Luke Welling, Laura Thomson
Год издания: 2017

#php #en

Скачать книгу
PHP жив и будет жить: почему его хоронят больше 10 лет, а он всё никак не умрёт

Шутки о том, что php умер не устаревают уже лет 10 (а то и все 20). Но как показала практика — php все ещё жив.

О том, почему всё так активно хоронят php и почему он всё ещё жив, а также какое будущее его ждёт, — рассказал Кирилл Мокевнин, CEO образовательной платформы Хекслет.

https://tproger.ru/articles/php-zhiv-i-budet-zhit-pochemu-ego-horonyat-bolwe-10-let-a-on-vsyo-nikak-ne-umryot/

#php
Работаем на PHP в функциональном стиле с помощью IterTools PHP

Бесплатная опенсорсная библиотека IterTools PHP разработана автором другой популярной библиотеки MathPHP. IterTools вносит множество полезной функциональности в язык, реализуя удобную и гибкую работу с итерируемыми сущностями в функциональном стиле — в духе itertools из Python.

Все методы библиотеки поддерживают работу с любыми итерируемыми сущностями (array, Generator, Iterator, Traversable), что выгодно отличает её от элементов функционального программирования, идущих в комплекте с языком (они, как правило, работают только с одним типом данных).

Её порекомендовал нам наш подписчик, который и сам активно использует её в собственных проектах и на работе — она позволяет сделать код намного лаконичней, читабельней и более поддающимся юнит-тестированию.

Подробности, справочник на русском и инструкция тут:

https://github.com/markrogoyski/itertools-php

#php #библиотека
Practical Laravel

Автор:
Paola Vallejo, Daniel Correa
Год издания: 2022

#php #en

Скачать книгу

@phpshka
PHP 8 Revealed

Автор:
Gunnard Engebreth
Год издания: 2021

#php #laravel #english

Скачать книгу

@phpshka
🗣 Laravel курс с нуля. База. Уровень с нуля.

Laravel — это PHP-фреймворк с открытым исходным кодом, специально разработанный для создания сложных сайтов и веб-приложений. Позволяет упростить аутентификацию, маршрутизацию, сессии, кэширование, архитектуру приложения, работу с базой данных.
📌 Смотреть бесплатно

#Lavarel

@phpshka
📋Использование простых алгоритмов в PHP: рекурсивный метод

Построение древовидной иерархии

Необходимо использовать рекурсивный метод для представления этого массива в виде древовидного меню.

Алгоритм (паттерн, если так хотите) будет примерно следующим:

0. Создаём объект дерева и выбираем все элементы в таблице.

1. Вызываем метод построения. Он инициализирует сборку массива родительских категорий. Именно этот момент является ноу-хау данного алгоритма. Он позволяет нам организовать изящную рекурсию.

2. Итеративно обходим массив, начиная с нулевого элемента. Выводим информацию о текущем элементе.

3. Увеличиваем уровень погружения. Рекурсивно вызываем метод для дочернего элемента. Если он есть в массиве родительских категорий, то идем к шагу 2, иначе — выходим в шаг-инициализатор.

4. Уменьшаем уровень погружения. Выходим из итерации.

Метод сборки массива категорий будет выглядеть примерно вот так:
private function getCategoryArray() {
$query = $this->db_connect->prepare("SELECT * FROM tree_table");
$query->execute();
$result = $query->fetchAll(PDO::FETCH_OBJ);

$category_array = array();
foreach ($result as $value) {
$category_array[$value->id_parent][] = $value;
}

return $category_array;
}


Далее напишем наш рекурсивный метод в соответствии с приведенным выше алгоритмом:
public function buildTree($parent_id, $tree_level) {
if (isset($this->category[$parent_id])) {
foreach ($this->category[$parent_id] as $value) {
echo "
" . $value->id_tree_test . " : " . $value->title . "
";
$tree_level++;
$this->buildTree($value->id_tree_test, $tree_level);
$tree_level--;
}
}
}


Теперь можем вызвать построение дерева, начиная с 0 элемента и 0 уровня. Замечу, что приведённый метод может вызывать построение с любой вложенной ноды и не ограничен по глубине.
$tree = new Tree();
$tree->buildTree(0, 0);


А вот как будет выглядеть наше дерево в итоге:

Продолжение

@phpshka
Новейший курс по изучению языка Php 8 c 0

1. Введение в php
2. Типы данных
3. Операторы
4. Условия
5. Циклы
6. Массивы
7. Создание функций
8. Функции для работы с датой и временем
9. Математические и строковые функции
10. GET и POST запросы

#video #php

https://www.youtube.com/watch?v=EGgfX21IyoA&list=PLuH4XlBKwOhtr5wdbpOKhF_vnth-p9B6f&ab_channel=DarkProger-%D0%BA%D1%83%D1%80%D1%81%D1%8B%D0%B2%D0%B5%D0%B1%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F