11 Рекомендаций по разработке на PHP

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

1. Сообщения об ошибках, при разработке, должны быть включены.

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

2. Используйте DRY подход

DRY означает — не повторяй себя. Эта концепция является очень полезной концепцией программирования и должна быть использована в любом языке программирования, таких как Java, C# и PHP. Использование DRY подход мы гарантируем, что нет избыточного кода. Часть кода, который нарушает DRY подход называют WET решением. WET расшифровывается как — написать все, TWIC — мы наслаждаемся печататью. Давайте посмотрим на следующий код:

WET подход:

$mysql  = mysql_connect ( 'localhost',  'mysqladmin_uid', 'mysqladmin_pwd' );
mysql_select_db( 'DB_NAME' ) or die( "Sorry !! No database selected!");

Этот код основан на WET подходе, но все равно он рабочий.
После DRY подхода, код может быть обновлен:

$db_host = 'localhost';
$db_user = 'mysqladmin_uid';
$db_password = 'mysqladmin_pwd';
$db_database = 'DB_NAME';
$mysql = mysql_connect($db_host, $db_user, $db_password);
mysql_select_db($db_database);

3. Использование табыляции

Во время написания кода на любом языке программирования, вы должны убедиться, что код правильно оформлен с отступами и пробелами. Это увеличивает читаемость кода и облегчает его поддержку.

4. Стандарты значимого и последовательного именования

Как и в любом языке программирования, в PHP также необходимо следовать стандартам именования. Есть два основных подхода что бы гарантировать это:

  • Использование Camel Case — при таком подходе первая буква в нижнем регистре а первой буква каждого следующего слова находится в верхнем регистре.
public class MyClass {
	public void methodName(String argName) {
	}
}
  • Использование подчеркивания между словами — в данном подходе, мы ставим знак подчеркивания (‘_’) между словами. Используя этот подход, код может быть изменен следующим образом:
public class MyClass {
public void method_name(String arg_name) {
}
}

5. Следует избегать глубокой вложенности

Многоуровневая вложенность уменьшает читаемость кода независимо от языка программирования. Любой программист должен избегать использования большой вложенности.

Пример использования излишней вложенности

public class MyClass {
public void method_name(String arg_name) {
if (is_writable($folder)) {
    			if ($fp = fopen($file_location_path,'w')) {
       			if ($stuff = extractSomeConditionalStuff()) {
         				if ( fwrite ( $fp, $stuff) )  {
         					// ...
         				}  else  {
         					return false;
         				}
} else {
     	return false;
}
} else {
 	return false;
}
} else {
	return false;
}
}
}

Как мы видим, здесь очень трудно понять, которые блок где заканчивается. Для лучшей читаемости, давайте модифицировать код:

function method_name (String arg_name) {
// ...
  	if (!is_writable($folder)) {
    		return false;
  	}
  	if (!$fp = fopen($file_location_path,'w')) {
    		return false;
  	}
  	if (!$stuff = extractSomeConditionalStuff()) {
    		return false;
  	}
  	if (fwrite($fp, $stuff)) {
   		// ...
  	} else {
    		return false;
  	}
}

6. Используйте адекватные комментарии

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

7. Не оставляете phpInfi() в корне сайта

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

8. Никогда не доверяйте пользователю

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

9. Используйте механизм кэша, где это требуется

Хорошие подходов в программировании — использование механизма кэширования, так как кэш помогает нам достичь более высокой производительности. В PHP кэширование достигается с помощью:

        • Memcached — хранение небольшой информации в оперативной памяти парой ключ-значение
        • APC-Alternative PHP Cache открыты кэш opcode для PHP
        • XCache — быстрый надежный opcode кэш PHP
        • Zend Cache — набор API, для реализации расширенных возможностей кэширования.
        • eAcclerator- open source инструменты кэширования

10. Избегайте копирования глобальных переменных

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

$desc = strip_tags($_POST['PHP description']);
echo $desc;

Фрагмент кода выше является примером копирования переменную в локальной переменной без необходимости. Это вовсе не является хорошей практикой. Тот же эффект может быть достигнут при использовании следующий код:

echo strip_tags($_POST['PHP description']);

11. Используйте Фреймворки

Фреймворки делают нашу жизнь проще, поскольку они обеспечивают нас проверенными решениями. В PHP есть много доступных Фреймворков. Во время разработки, вы должны использовать их. Они так же использую подход MVC (Model View Controller).

Вывод

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