О нативной разработке PHP и использовании основных фреймворков PHP

задняя часть PHP

"Это второй день моего участия в ноябрьском испытании обновлений, ознакомьтесь с подробностями события:Вызов последнего обновления 2021 г.".

В основном работаю над проектами на php.Раньше никогда не брезговал фреймворками.В силу проектных соображений в последние годы баловался более популярными фреймворками.Все-таки сторона А главный.Используйте,иногда можно их уговорить изменить свои первоначальные намерения, но иногда вы можете только подчиниться или сдаться... Что касается отказа по этой причине, то это невозможно, но, к счастью, после повторного использования я обнаружил, что в Эффективность разработки действительно значительно улучшилась . Теперь позвольте мне рассказать о некоторых моих чувствах.

1. PHP — лучший язык веб-разработки в мире

PHP - лучший язык веб-разработки в мире. Это неопровержимо. Конечно, убирать слово web бессмысленно. Java, .net и python, продвигаемые многими троллями в Интернете, намного хуже.

php имеет следующие преимущества:

  • Простой и легкий в освоении. Именно из-за этого популяция разработчиков php огромна и смешана, но мы не можем сказать, что это не важно, потому что солнечный свет и воздух легко добываются, верно? Это человеческая проблема, а не проблема языка разработки.
  • Он обладает высокой гибкостью и тесно интегрирован с html и css. Поскольку php был создан для веб-разработки, другие языки были разработаны из настольных программ и консольных программ.
  • Конфигурация сервера проста. Настройка в один клик в интернете — это как переправить карася через реку, и нет ничего проще.
  • Требования к серверу невелики, а с хорошим братом mysql любой офисный компьютер может работать без сбоев. Если вы используете java+oracle, вам нужно купить выделенный сервер, если вы хотите использовать офисный компьютер в качестве сервера, вы застрянете без доступа к нему сотен человек. Раньше я брал на себя управление компанией, и та же функция сделана на php, и нет необходимости в доступе к ней 10 000 человек.

Недостатки пхп:

  • Отсутствие механизмов параллелизма и обработки транзакций. Для сверхкрупных веб-сайтов с десятками миллионов посещений, если это новостной веб-сайт, нормально генерировать html, что в принципе не требует давления, но для некоторых чисто динамических систем открытого доступа, таких как открытый доступ (система открытого доступа с десятками миллионов посещений не разрешено) я невежественен, я этого не видел) и сложный процесс транзакции, эффективность не высока, поэтому некоторые операции с сокровищами, бронирование билетов 12306, банковский банкомат и т. д. используйте java или python , потому что их важной задачей является не просмотр контента, а обработка транзакций, и обычно они распределяются одновременно по нескольким серверам.
  • Поддерживает только веб-разработку, делать файлы .exe не удобно. На самом деле это не недостаток.Люди не делают этого во-первых.Так же, как когда вы идете на кухню с большим ножом и копьем, чтобы нарезать овощи, вы должны сказать, что это не так просто использовать, как кухня ножом, а просить программиста приготовить овощи не так хорошо, как нововосточного подмастерья.Вы должны сделать это, никто не может этого сделать.
  • Синтаксис не очень строгий. Переменные можно использовать без определения. Я думаю, это очень удобно. Кроме того, в PHP есть строгий режим. После включения переменные должны быть объявлены, прежде чем их можно будет использовать. Вы можете установить их, если хотите. Кроме того, говоря об этом, я не привык к практике Python без фигурных скобок. Это красиво. Я пойду. Если вы хотите скопировать и вставить кусок кода, потребуется много усилий, чтобы просто настроить формат, и код будет длинным или код будет скопирован в другие места машина подвержена ошибкам.

Когда использовать PHP

Проект небольшой, как судить об этом, зависит от того, сколько серверов нужно для запуска этой программы, если их десятки или сотни, то это большой проект. PHP в пределах 10 единиц легко с этим справится.

2. Способы снизить нагрузку на PHP для проектов среднего размера

Для проектов среднего размера, исчисляемых десятками миллионов, можно использовать следующие методы для снижения стресса:

  • База данных — это одна машина, или несколько машин (ключевые слова: режим master-slave, репликация данных, синхронизация данных), помните, что проще разместить базу данных в нескольких местах, чем код сайта в нескольких местах.
  • Используются доменные имена второго уровня, а некоторые функции размещаются на нескольких серверах. Вы можете хранить сеансы и общедоступные переменные в базе данных, чтобы обеспечить беспрепятственную интеграцию входа.

3. Нативная разработка против фреймворка

Преимущества нативной разработки:

  • низкая стоимость обучения
  • У Yongyu меньше кода.Первоначально небольшой проект с несколькими сотнями килограммов стоил более 10 миллионов с thinkphp.
  • Высокая эффективность исполнения, ведь фреймворк потребляет много ресурсов
  • Показатели безопасности высоки (если вы мастер), а фреймворк иногда имеет лазейки, которые, естественно, вносят лазейки в вашу программу.
  • Разработка конфигурации программы является гибкой, без соблюдения правил маршрутизации фреймворка.

Преимущества разработки фреймворка:

  • Высокая эффективность разработки и небольшой объем кода (здесь имеется в виду код, написанный вами)
  • Есть много встроенных функций, и вызов относительно прост
  • Высокие показатели безопасности (если вы новичок), ведь уровень людей, которые пишут фреймворк, выше вас, и думают они более вдумчиво, чем вы.
  • После того, как код упакован, он больше, потому что он содержит код фреймворка, особенно для аутсорсинга, вы берете 30 000 юаней и получаете 300 000 кода.Они всегда считают, что это нерентабельно.Они используют фреймворк и добавь фото, хотя бы 30М, конечно, можно и несколько сотен М получить, если бессовестно. Вы хотите сказать, что нативная разработка не умеет делать картинки, но когда люди видят, что php-файлов не так уж и много, у каждого человека в файле всего несколько десятков строк кода для открытия, они глупые?

Лично для меня бизнес-логика не очень сложна.Если вы можете использовать фреймворк, вы должны использовать фреймворк.Это действительно намного проще. Если у вас много функций, которые непросто доделать с фреймворком, то используйте нативные, особо заморачиваться не надо. Если новичок не может судить сам, вы можете добавить Lao Liu WeChat (jsjlaoliu), прислать мне свои функции, и я помогу вам решить, какой фреймворк использовать.

4. Распространенные PHP-фреймворки

4.1 Thinkphp (внутренний)

Это фреймворк, который я использую больше всего в настоящее время, а также фреймворк с наибольшим количеством пользователей в Китае. Большинство функций в ежедневной разработке в основном включены. Если у вас его нет, вы можете найти расширение плагин, который настоятельно рекомендуется.
Он поддерживает php7 и php8.Для моей версии обсессивно-компульсивного расстройства я не добираюсь до тех фреймворков, которые не поддерживают php7 или выше (шаньдунский диалект, брезгую его использовать).
Кроме того, начиная со следующей статьи, я собираюсь написать простой туториал по использованию Thinkphp6, вы можете подписаться на меня, если вам это нужно.

4.2 CodeIgniter

Как сказать, я очень хорошо использую CodeIgniter3.0, частота использования больше, чем Thinkphp, результат 4.0, похоже, что программное обеспечение полностью изменено, и удобство использования сильно снижено. И этот фреймворк относительно медленно обновляется. Рекомендуется использовать CodeIgniter3.0 для тех, кто использует php7 или ниже (за исключением), и Thinkphp для тех, кто использует php7 или выше.

4.3 Laravel

Легенда гласит, что Laravel — это простой и элегантный PHP-фреймворк для веб-разработки, но, к сожалению, я не очень элегантен и не чувствую его, а вместо этого он испорчен этими громоздкими конфигурациями. Преимущество в том, что существует большое количество сторонних библиотек с открытым исходным кодом, в которых можно быстро и легко реализовать функции модуля, механизм безопасности очень полный, проверка данных отправленной формы (почти 80 видов проверки, и есть в принципе все что можно представить) и генерируется рандомный _token при отправке данных.Верификация,избегание нелегальной отправки,можно избежать междоменных атак;проверка логина по наследству,проверка разрешений,это действительно очень удобно,заинтересованные друзья могут изучить .

4.4 Yii

Yii написан в строгом ООП, что является его главной особенностью, но я не люблю строгость, в Yii много компонентов, а стоимость обучения немного высока, говорят, что он подходит для разработки масштабного веба. Приложения.

4.5 Yaf

Yaf, полное название YetAnotherFramework, представляет собой фреймворк PHP, написанный на языке C. Это фреймворк для разработки PHP, представленный в виде расширений PHP. По сравнению с обычными фреймворками PHP он быстрее и легче. Говорят, что он обладает высокой производительностью. , но я делал небольшие проекты, я его не чувствую, этот фреймворк немного сложен в освоении, и количество пользователей не велико, но его используют почти все крупные компании. это раньше. Не лезь разбираться в маленькие проекты. Если вы хотите попасть на большую фабрику, вы можете изучить ее.

4.6 Cakephp

z Это очень похоже на thinkphp.Говорят, что think был ссылкой, когда он начинался.В этом случае мы должны использовать think.В конце концов, он сделан в Китае, так что каждый может его понять.

4.7 Zend

ZendFramework (сокращенно ZF) является открытым исходным кодом и в основном используется для разработки и обслуживания веб-приложений ZF использует архитектурный шаблон MVC (модель-представление-контроллер) для разделения различных частей приложения, чтобы облегчить разработку и обслуживание программы. Пакет фреймворка очень большой и имеет много функций, стоимость обучения немного высока, производительность не очень выдающаяся, и он редко используется в Китае, я мало изучал.

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