English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Внимание! 10 вещей, которые не следует делать в PHP 7

Помните, 10 вещей, которые не следует делать в PHP 7

1. Не используйте функции mysql_ 

Этот день终于 наступил, и теперь вы не только «не должны» использовать функцииmysql_. PHP 7 полностью удалил их из ядра, что означает, что вам нужно перейти на более хорошие функцииmysqli_ или более гибкую реализацию PDO.

 

2. Не пишите мусорного кода 

Этот пункт может быть легко понят, но он будет становиться все важнее, так как ускорение PHP 7 может скрыть некоторые ваши проблемы. Не довольствуйтесь только скоростью вашего сайта, так как переход на PHP 7 только ускоряет его. 

Чтобы понять, насколько важна скорость и как можно улучшить работу, посмотрите нашу статью «Введение в оптимизацию скорости». 

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

3. Не используйте закрывающие теги PHP в конце файла 

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

4. Не передавайте по ссылке неявно 

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

Слышалось, что некоторые считают, что это делает код выполнения быстрее, но, по словам некоторых опытных программистов PHP, это не так. 

Пример того, почему использование цитат не рекомендуется, заключается в том, что PHP имеет内置的shuffle() иsort()函数。Они изменяют исходный массив, а не возвращают обработанный массив, что очень нелогично. 

5. Не выполняйте запросы в цикле 

Выполнение запросов в цикле очень расточительно. Это создает不必要的 нагрузку на вашу систему и может быть быстрее получить такие же результаты вне цикла. Когда я сталкиваюсь с这样的情况ми, я обычно использую два отдельных запроса для решения проблемы и использую их для создания массива данных. Затем я перебираю массив, не выполняя запросы в этом процессе. 

Поскольку WordPress здесь, он может иметь некоторые исключения. 虽然 get_post_meta() может получить много данных из базы данных, если вы遍еряете через метаданные определенного поста, вы можете использовать его в цикле. Это потому, что когда вы primero вызовете его, WordPress фактически получит все метаданные и их зашкадровит. Следующие вызовы используют эти зашкадрованные данные, без обращения к базе данных. 

Лучший способ понять это — прочитать документацию по функциям и использовать инструменты, такие как Query Monitor. 

6. Не используйте * в запросах SQL 

Конечно, это больше проблема MySQL, но мы привыкли писать SQL-код в PHP, так что это похоже. В любом случае, если возможно, не используйте wildcard в запросах SQL, особенно если в базе данных много столбцов. 

Вы должны явно指定 нужные строки и только их получать. Это помогает уменьшить используемые ресурсы, защитить данные и сделать все как можно более ясным. 

Для SQL вам нужно знать все доступные функции и как можно больше тестировать их скорость. При вычислении среднего значения, суммы или вычислении других числовых значений используйте функции SQL, а не функции PHP. Если вы не уверены в скорости выполнения запроса, тестируйте его и попробуйте другие компиляции — затем используйте лучшую. 

7. Не доверяйте вводу пользователей 

Доверять вводу пользователей неразумно. Всегда проверяйте, фильтруйте, экранируйте, проверяйте и оставляйте себе запасной выход. У данных пользователей есть три проблемы: мы, разработчики, не учитываем все возможности, они обычно неправильны и могут быть преднамеренно вредными. 

Системы, которые были тщательно разработаны, могут защитить от этих угроз. Убедитесь, что вы используете内置 функции, такие как filter_var(), для проверки соответствующих значений, и экранируйте (или предварительно компилируйте) при обработке базы данных. 

WordPress имеет некоторые функции для решения проблем. См. статью по проверке, экранированию и фильтрации данных пользователей. 

8. Не делайте умных вещей 

Ваша цель должна быть написание элегантного кода, чтобы более清晰地 выразить ваши намерения. Вы можете попробовать оптимизировать 0.01 секунды на каждой странице, сокращая все до одного слова, используя многоуровневую логику ternary и другие средства, но это только создаст проблемы для вас и окружающих. 

Рациональное命名变量, создание документации для кода, приоритетно выбирайте ясность, а не краткость. Даже лучше, используйте стандартный объектно-ориентированный код, который сам по себе в какой-то степени является документацией, и не требует большого количества вlined значений. 

9. Не изобретайте колесо 

PHP существует уже давно, и времени создания веб-сайтов еще больше. Вероятно, что если вам нужно создать что-то, кто-то уже давно это сделал. Не стесняйтесь обращаться за поддержкой к другим, GitHub — ваш лучший друг, так же как и Composer и Packagist. 

От инструментов для логирования до инструментов для подбора цветов, от анализаторов производительности до фреймворков для единичных тестов, от Mailchimp API до Twitter Bootstrap, все можно получить, нажав кнопку (или введя команду). Используйте их! 

10. Не игнорируйте другие языки 

Если вы являетесь程序员ом PHP, сейчас есть отличная возможность хотя бы узнать HTML, CSS, JavaScript и MySQL. Когда вы сможете лучше работать с этими языками, это время для повторного изучения JavaScript. JavaScript не является jQuery, поэтому изучайте JavaScript разумно, чтобы эффективно использовать его. 

Я также планирую порекомендовать вам изучение объектно-ориентированного PHP, который может сэкономить время и стать лучше, когда масштаб кода увеличивается. После того, как вы изучите ООП, языки, такие как C# и Java, становятся более понятными. 

Расширяйте свои знания, знакомясь с менеджерами пакетов, скриптами 构建, CoffeeScript, LESS, SASS, YAML, скриптовыми двигателями и другими мощными инструментами. Я настоятельно рекомендую вам ознакомиться с другими фреймворками, особенно с Laravel. 

Когда вы выполняете задачи на их высоте, как насчет изучения Ruby, RoR, Android, iPhone и Windows Phone приложений? Вы можете подумать, что это毫无意义, потому что они вне вашей зоны комфорта и необходимого диапазона, но это именно их значение. Каждому языку есть что предложить для изучения, а также новые знания, с которыми вы не сталкивались. Все ведущие разработчики PHP знают много других языков программирования, и это не случайно.

 Вот и все, что есть в этой статье, я надеюсь, что это поможет вам в изучении, и希望大家多多 поддерживать руководства по крику.

Рекомендуем также