21 ошибка которые делают PHP программисты Печать
Автор: Administrator on 24.01.2011 10:56   

Переписываем стандартные функции
Некоторые программисты рекомендуют переименовать стандартные функции, чтобы те, кто работает на Visual Basic смогли с легкостью перейти на язык PHP:
<?php
function len ($str) {
return strlen ($str);
}
?>
Иногда встречаются и рекомендации о том, что если вы только начинаете работать с PHP, сначала нужно поменять имена имена встроенных функций на более привычные.
Но есть, по крайней мере, две причины не совершать этого. Во первых, у нас получится менее читаемый код. Для людей, которые будут просматривать ваш код, будет масса непонятных функций, и они удивятся тому, по какой причине вы не воспользовались стандартными функциями PHP.
Да и в конце концов, это только уменьшит производительность программы. Проблема состоит не только в том, что будет обрабатываться большой объем кода, но и в том, что вызов таких пользовательских функций требует большего времени, нежели прямой вызов стандартных функций.
Пользуйтесь стандартными функциями PHP!


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


Неплохо было бы иметь в своем распоряжении справочник по функциям PHP (удобно пользоваться индексированной версией в PDF). И когда вам нужно написать какую-нибудь функцию, просто посмотреть внимательно, есть ли она в списке стандартных функций.


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


16. Клиентская часть программы не отделяется от серверной части
Множество программистов рекомендуют объединять PHP код (который выполняется сервером) с HTML кодом (интерпретируемого на клиентской стороне) в один большой файл.


Это скорее всего подходит для маленьких сайтов. Но в случае, когда ваш сайт начинает расти, для вас может стать проблемой необходимость добавления неких новых функций. Этот стиль программирования делает код громоздким и «непослушным».
API функции


Если вы хотите отделить PHP от HTML кода, то есть несколько вариантов. Первый способ – это создание функции динамического формирования вывода и добавление ее в необходимое место вашей веб-страницы.


Пример:
index.php - код страницы

<?php include_once ("site.lib"); ?>
<html>
<head>
<title><?php print_header (); ?></title>
</head>
<body>
<h1><?php print_header (); ?></h1>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="25%">
<?php print_links (); ?>
</td>
<td>
<?php print_body (); ?>
</td>
</tr>
</table>
</body>
</html>

site.lib - Сам код программы

<?php

$dbh = mysql_connect ("localhost", "sh", "pass")
or die (sprintf ("Не могу открыть соединение с MySQL [%s]: %s",
mysql_errno (), mysql_error ()));

@mysql_select_db ("MainSite")
or die (sprintf ("Не могу выбрать базу данных [%s]: %s",
mysql_errno (), mysql_error ()));

$sth = @mysql_query ("SELECT * FROM site", $dbh)
or die (sprintf ("Не могу выполнить запрос [%s]: %s",
mysql_errno (), mysql_error ()));

$site_info = mysql_fetch_object ($sth);

function print_header ()
{
global $site_info;
print $site_info->header;
}

function print_body ()
{
global $site_info;
print nl2br ($site_info->body);
}

function print_links ()
{
global $site_info;

$links = explode ("\n", $site_info->links);
$names = explode ("\n", $site_info->link_names);

for ($i = 0; $i < count ($links); $i++)
{
print "\t\t\t
<a href=\"$links[$i]\">$names[$i]</a>
\n<br>\n";
}
}
?>


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

 

Поик по сайту

Как установить шаблон на DLE?

Установить шаблон можно двумя способами :

Первый :

- Просто загрузить все файлы (не папку) в папку templates/Default

тогда у вас сразу будет загружатся новый шаблон (стандартный шаблон при этом удалится).

Второй :

- Загрузите папку с шаблоном (не файлы а папку с файлами) в папку templates/ и тогда в админ панели вам нужно сменить шаблон на новый.

ON-Line

Сейчас 5 гостей онлайн

Опрос о рекламе

Как вы относитесь к рекламе на сайтах ?