Рубрики
Uncategorized

Технологический стек PHP

Автор оригинала: David Wong.

Цель этой статьи-дать начинающим, которые хотят изучать PHP, общую когнитивную схему, иметь в виду структуру обучения, иметь цель, избегать слишком большого количества обходных путей. Боже, пожалуйста, не обращай на это внимания.

Начальный Этап

Подготовительные знания

1. Овладейте базовой грамматикой HTML, JS, CSS; Знаком с начальной загрузкой.

Справочные ресурсы: https://www.runoob.com/html/h… https://www.liaoxuefeng.com/w… https://www.runoob.com/css/cs…

Минимальные критерии приемлемости: Имитировать содержимое первого экрана на первой странице jd.com или vip.com.

2. Знакомство с командной строкой Linux Знаком с установкой общей системы распространения (CentOS, Ubuntu) Знаком с общими операциями командной строки, включая управление файлами, управление пользователями, управление разрешениями, управление брандмауэром и т.д. Знаком с использованием VIM

Минимальные критерии приемлемости: освоение построения среды SNMP.

Основа PHP

Освоите базовую грамматику PHP, загрузку файлов, файлы cookie, сеанс, JSON. Подключение к основной базе данных MySQL: использование PDO. Мастер-соединение redis и простое приложение. Основные пространства имен. Поймите идею объектно-ориентированного программирования.

Справочные ресурсы: https://www.runoob.com/php/php-tutorial.html

Рамки Обучения

Научитесь использовать фреймворк ThinkPHP. Основная причина в том, что популярность фреймворка в Китае слишком высока. Laravel не рекомендуется, так как фреймворк использует больше грамматического сахара и сторонних библиотек, что может быть сложно для новичков.

Минимальные критерии приемлемости: Вы можете использовать последнюю версию ThinkPHP в качестве отправной точки для написания простого блога. Просто напишите простую страницу. Данные выводятся на страницу с помощью отображения TP.

Обучающий Интерфейс Записи

Узнайте Чарльз Возьмите пакет и посмотрите данные, возвращаемые интерфейсом бобовых клапанов. Научитесь писать интерфейс (GET, POST) в строке. Научитесь пользоваться ПОЧТАЛЬОНОМ

Самые низкие критерии приемлемости: измените вышеуказанный проект блога на разделение интерфейса и бэкенда, сначала напишите интерфейс (желательно с документацией), а затем используйте ajax для вызова данных интерфейса на странице.

До сих пор вы только начинали. Если вам нужно продолжать, вы должны учиться.

Этап II

PHP

Использование composer для установки сторонних библиотек PHP Знакомство с отладкой точек останова PHP Изучение распространенных расширений PHP с использованием спецификации SPL Master PSR Освоите использование шаблонов проектирования Reflection Graph Умелое использование общих фреймворков. Поймите большинство параметров конфигурации и последствий PHP и php-fpm. Знаком с протоколом HTTP. Знаком с регулярными выражениями.

MYSQL

Знакомый с некоторыми методами оптимизации MYSQL, такими как отслеживание производительности MySQL, включая slow_log/explain и т. Д., Может Избежать некоторых ошибок, Таких как порядок по, ограничение, нравится и т. Д., Может умело использовать часто используемый индекс и иметь полное представление о том, какой тип данных выбрать для создания структуры таблицы и т. Д. Знаком с общей конфигурацией, знаю, как настроить. Владение конфигурацией “ведущий-ведомый”.

NOSQL

Освоить использование Redis: знаком с классическими сценариями использования общих структур данных; понимать транзакции Redis, RDB, AOF и другие механизмы. Освоите использование Memcache и узнайте разницу между Memcache и redis. Узнайте больше о MongoDB.

Линукс

Знаком с обычными текстовыми командами, такими как wc, awk, split, diff, grep, sed и т.д. Знаком с использованием sort и uniq. Владение ps, netstat, top и другими командами. Умелое использование супервайзера. Знаком с тем, как писать сценарии оболочки. Поймите значение конфигурации Nginx.

Этап III

PHP

PHP очень хорошо знаком с этим этапом и обладает способностью быстро разрабатывать проекты и устранять ОШИБКИ. Код соответствует спецификации PSR и обладает высокой стабильностью. Знаком с использованием очередей сообщений и подходящим выбором очередей сообщений для асинхронной развязки во многих сценариях. Знаком с тем, как использовать эластичный поиск вместо функции полнотекстового поиска MYSQL. Знаком с многопроцессорным программированием. Знаком с программированием сокетов, имеет определенные знания о модели сетевого ввода-вывода, знаком с технологией мультиплексирования (select/poll/epoll). Знаком с фреймворком swool, может применяться к проектам. Не ограничиваясь самим фреймворком, любой фреймворк запускается быстро за один день. Знаком с рабочим механизмом PHP и жизненным циклом php-fpm. Вы можете понять, почему PHP работает медленно по сравнению с сильными типизированными языками, такими как C. Имейте определенное представление о внутренних принципах реализации PHP, таких как реализация переменных, понимание движка Zend. Расширения PHP имеют

MYSQL

Знаком с массовым импортом и экспортом данных. Прогнозируйте риски, которые могут возникнуть при работе с большими таблицами в режиме онлайн. Знаком с суб-базой данных и суб-таблицей. Задержка между ведущим и ведомым устройством может быть эффективно решена. Для MySQL встроенные функции могут быть квалифицированы в использовании, знакомы с использованием триггеров, хранимых процедур. Знаком с параметрами оптимизации производительности ядра сервера innodb_log_buffer_size, back_log, table_open_cache, thread_cache_size, innodb_lock_wait_timeout и т. Д. Для реализации внутреннего индекса MySQL механизм изоляции транзакций имеет определенное понимание.

NoSQL

Структуры данных, отличные от типов данных, обычно используемых в redis 5, также должны быть освоены. Такие как растровое изображение, ГЕО, гиперлог, паб/суб и т. Д. Транзакции, каналы и распределенные блокировки в redis можно умело использовать. Имейте определенное представление о структуре сервера redis. Будьте знакомы с тем, как использовать Lua в redis. Попробуйте прочитать исходный код redis.

Линукс

Очень хорошо знаком с nginx , умеет умело настраивать https, балансировку нагрузки, обратный прокси; умеет использовать lua-nginx-модуль. Awk/sed и другие приложения стали настолько популярными, что они могут манипулировать и управлять обработкой текстового статистического анализа данных в различных сложных форматах по своему желанию. Специалист в области tcpdump, gdb, ltrace, strace, lsof и т.д.

Другой

Знаком с прикладным программированием Linux: знаком с использованием файлов makefile; знаком со знаниями процессов, сигналов, ввода-вывода; имеет определенное понимание языка Си. Опытный лось. Для других языков (таких как java, c, golang) и других областей (большие данные) есть определенное понимание. Знаком с архитектурой RPC и микросервисов. Может поддерживать нормальную разработку и обслуживание десятков миллионов веб-сайтов с трафиком.

Заключительные замечания

Технологии безграничны, и в будущем у нас будет больше возможностей.

Если вы хотите быстро обновить Redis, MySQL и другие навыки до третьего этапа, пожалуйста, ознакомьтесь со следующим разделом “Изучите эти уроки, быстро помогите вам повысить уровень”.

Эта статья была впервые опубликована на общедоступном номере “fhyblog” и приветствует ваше внимание. Адрес блога: https://52fhy.cnblogs.com.