Статьи,обзоры,справочники по PHP

API функций


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

Например, так:

index.php – код страницы

<?php include_once("site.lib"); ?> <l> <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> </l>

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"; } } ?>

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



Содержание раздела