PHP Academy
8.33K subscribers
96 photos
22 videos
267 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
🖥 Бесплатные курсы для PHP программистов, актуальные в 2023.

beONmax Курс PHP / MySQL

ИНТУИТ Язык программирования PHP

Академия АйТи PHP Основы

itProger Создание сайта на PHP

Youtube Интернет магазин с нуля php

Веб-разработка на php — от Geekbrains

Основы языка php от Hexlet

Первое знакомство с php от Stepik

Основы php — курс от Академии IT

Самоучитель от PHP-S

Тренажер по php от Html Academy.

PHP программирование сайтов

Уроки по PHP от mooc и компании itproger.

Учебник по PHP от Html Academy.

PHP для начинающих — курс от опытного разработчика

Уроки php up

@phpshka
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 PHP: Функции и их вызов
Какие бывают функции
Как работать со встроенными функциями


Сложение, конкатенация и остальные рассмотренные операции — это базовые возможности языков программирования. Но со строками можно поизводить более сложные операции. Их можно переворачивать, менять регистр букв, удалять лишние символы.

На более высоком уровне есть прикладная логика конкретного приложения. Программы списывают деньги, считают налоги, формируют отчеты. Количество подобных операций бесконечно и индивидуально для каждой программы. И все они должны быть выражены в коде. В этом помогают функции, с которыми мы познакомимся в этом уроке.

Какие бывают функции
Для выражения любой произвольной операции в программировании существуют функции. Они бывают встроенными и добавленными программистом. С одной встроенной функцией мы уже знакомы — это print_r().

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

Как работать со встроенными функциями

Начнем с простых функций для работы над строками. Ниже пример вызова функции strrev(), которая переворачивает строку:

<?php

// Вызов функции strrev с аргументом 'Hello!'
$result = strrev('Hello!');
print_r($result); // => '!olleH'

Мы создали переменную $result и указали интерпретатору записать в нее результат, который вернет вызов функции strrev(). В этом смысле функции идентичны операциям — они всегда возвращают результат своей работы.

Запись strrev('Hello!') означает, что вызывается функция с именем strrev, в которую был передан аргумент или параметр 'Hello!'.

Аргументы нужны функциям для работы так же, как операторам нужны операнды. Функция strrev() переворачивает ту строку, которая передается ей в аргументах.

Вызов функции всегда обозначается скобками (). Они идут сразу за именем функции. В скобках может быть любое количество аргументов, а иногда — ни одного. Количество зависит от используемой функции. Например, функция pow() принимает на вход два аргумента и возводит число, переданное первым параметром, в степень, переданную вторым параметром:

<?php

$result = pow(2, 3); // 2 * 2 * 2
print_r($result); // => 8

// В современном PHP появился специальный оператор для возведения в степень
$result = 2 ** 3; // 8
Теперь рассмотрим пример функции, которая не принимает аргументов. Функция rand() генерирует и возвращает случайное число:

<?php

$result = rand();

Операторы и функции — это одно и то же. Разница в том, как они записываются. Если представить сложение как функцию, то она будет выглядеть так:

<?php

3 + 5; // 8
sum(3, 5); // 8

// Или даже так
+(3, 5);

// В PHP такой синтаксис невозможен, но есть языки (например, lisp),
// где оно выглядит очень похоже
Вопрос на самопроверку. Как узнать, что возвращает вызов print_r()? Проверьте.


Задание
В коде программы определены две переменные, содержащие имена компаний. Посчитайте их общую длину в символах и выведите ее на экран.

Пишите решение в комментариях 👇

@phpshka
Please open Telegram to view this post
VIEW IN TELEGRAM
Использование SQLite в PHP

Для работы с базой данных (любой), в PHP сейчас принято использовать PDO (PHP Data Objects). Раньше было так: в зависимости от используемой базы, нужно было использовать и её специфичные функции. Поскольку PHP поддерживает больше десятка баз, то появился и «зоопарк» функций: отдельно для MySQL, отдельно для SQLite, отдельно для dBase и т.д.

Но с точки зрения разработчика, работа с базой состоит из нескольких этапов:

Подключение к базе.
Выполнение SQL-запросов.
Получение результата.
То есть не важно какая база, схема работы всегда одна и та же. Таким образом и был создан PDO, который представляет собой единый интерфейс для работы с базами. Вначале рассмотрим «чистый» вариант работы с PDO, а потом как его упростить и сделать удобным с помощью библиотек Albireo Framework.

Читать дальше


@phpshka