Профессиональное программирование на PHP

Страница 33 из 591


Именование 35

Вместо использования глобальных переменных для каждого параметра в постоянном соединении с базой данных, например:

global $database_handle; global $server; global $user; global $password;

$database_handle = mysql_pconnect($server, $user, $password);

можно использовать класс:

class Mysql_Test {

public $database_handle,-private $server = 'localhost'; private $user = 'test'; private $password = 'test'; public function ■ construct()

{ • ~~

$this->database_handle =

mysql_pconnect($this->server, $this->user, $this->password);

Еще более эффективные способы обработки подобных ситуаций приводятся в главе 2, "Объектно-ориентированное программирование с использованием типовых проектов", при рассмотрении синглтонов (singletons) и классов-оболочек (wrapper classes).

Иногда требуется получить доступ к определенной переменной: $US_STATES = array('Alabama', ... , 'Wyoming');

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

function us_states() {

static $us_states = array ('Alabama', ... , 'Wyoming'); return $us states;

}

Данный метод имеет дополнительное преимущество: исходный массив будет постоянным, как если бы он был создан с помощью оператора define.

Долговременные переменные

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

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




  Hostland.Ru

 «Бесплатный хостинг Hostland.Su» © 2006