:menu:
 Hi 
 News 
 Soft 
 Articles 
 Questions 
 Projects 
 Humor 
Hi
Привет всем читателям этой замечательной рассылки. Очень рад, что вам она интересна. Надеюсь и в дальнейшем радовать вас.
Итак, сегодня в меню: немного нового софта + новости LS + статья про PHP движок + проекты LS + немного юмора
Наслаждайтесь :0)

О нашей группе | Свежие новости на сайте | Рассылка на Subscribe.ru

News

26.12.2004
Обзор нашего последнего релиза m3uCopy 4.1 появился в разделе "Тест-обзор" журнала "Человек&Internet" за 20.12.2004.

25.12.2004
Работы нашего новичка Murd0k:
   - работа в разделе графика: LS
   - статья: Создание помех на телефоне со спаренной линией при помощи сотового телефона
Переоформлены некоторые разделы и страницы сайта.

25.12.2004
Поисковый сервис Google запустил новую услугу , которую я всем рекомендую использовать. Называется это Google Suggest. Выглядит как обычное окно поисковика. Но как только вы начинаете набирать фразу для поиска (не важно: на русском или на английском) вы сразу видите варианты самых популярных запросов. Рядом с каждым вариантом - количество результирующих страниц. Мышкой или курсорами вы можете сразу выбрать нужный вам вариант.
Открыть Google Suggest >>
Описание принципов работы Google Suggest (на англ.) >>

25.12.2004
Принят новый образец анкеты вступления в группу

24.12.2004
На нашем сайте создан новый раздел Статьи, в который перемещены статьи из раздела Игры. В новый раздел также добавлены статьи из нашего старого сайта, в частности статьи Пользователям:
   - Тонкости, хитрости и секреты Windows
   - Секреты Windows
   - Секреты Windows #2
   - Специальные клавиши в windows
   - Содержимое стандартной загрузочной дискеты
   - CD-R: Изменение иконки диска и автозапуск
   - Описание файла msdos.sys
   - Почта своими руками

23.12.2004
Самые старые домены мира. Список ветеранов интернета, открывших свои сайты с 1985 года.
Открыть >>

19.12.2004
Открыта рассылка новостей LineSoft на Subscribe.ru

18.12.2004
Релизы наших проектов MyLib 0.81 и AVC 1.1 были размещены на CD/DVD прилагаемым к журналу "Хакер" #12(72).

17.12.2004
В группу, на испытательный срок, вступил Murd0k.

15.12.2004
Обновлен сайт проекта fdb, в разделе Download размещен дистрибутив fdb 2.4.1 Beta: библиотека (fdb.dll 2.4.1 D4CE, ObjectModel: v1.37 D4BD), дополнительные модули (f2rSome.31), документация (fdbHelp 0.92)

14.12.2004
Новая версия программы m3uCopy 4.1 (копирование файлов из плейлиста winamp)
[Подробнее о проекте m3uCopy]

13.12.2004
Обновлен сайт проекта MyLib http://mylib.iatp.org.ua

12.12.2004
Мы снова работаем!


Soft
Новая версия winamp 5.07
Показатели быстродействия компьютера - system observer
Оболочка известного упаковщика exe - файлов - UPX Control
Удаления из реестра Windows вредных ключей - Registry Trash Keys Finder
Мощный FTP сервер Serv-U
Скрипт добавления новостей Cute News

Articles

Здесь вы можете опубликовать свои статьи. Присылайте их на мыло lsnews@fm.com.ua

PHP движок

Предисловие

В данной статье я хочу рассказать о том, как можно эффективно использовать средства PHP для создания сайтов. Речь пойдёт об организации хранения данных, методах её максимально выгодного использования, а также о техническом исполнении сайта. Ведь от того насколько просто написан код сайта будет зависеть его скорость загрузки, от того как написан код (в специальном визуальном редакторе или в простом блокноте) может зависеть не только размер кода сайта, но и то, будет ли он вообще отображаться так как задумано в разных браузерах. Данная статья будет полезна тем, кто только начинает изучать PHP и уже имеет небольшой опыт работы с PHP и HTML.

 

Движок (ядро)

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

Организация ядра

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

Исполнение

Рассмотрим конкретный пример: у нас есть движок сайта, который должен генерировать страницы, в которых находиться содержимое разделов. Пусть это будут разделы: news, guestbook, photos. И ко всему прочему у нас иметься оформление и заголовок сайта:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>

<HEAD>

<TITLE> Welcome to JeyDee Home Page ;-)</TITLE>

<META HTTP-EQUIV="Content-Type" Content="text/html; Charset=Windows-1251">

<META Name="autor" Content="(c) JeyDee, JeyDee@fm.com.ua, ICQ:7422050">

<META Name="description" Content="Домашняя страничка Jey'я!">

<META NAME="Publisher-URL" CONTENT="JeyDee Home Page www.JeyDee.iatp.org.ua">

<META NAME="Publisher-Email" CONTENT="JeyDee@fm.com.ua">

<META NAME="Keywords" CONTENT="Мой сайт";

</HEAD>

<body bgcolor="#D6DFEF">

<TABLE border=0 align=center width="90%" valign=top>

<TR>

<TD width="150" height="100%">

<TABLE border=0 width="100%" height="100%" style="border: 1px solid #949EAD">

<TR>

<TD align="center" valign="top">

<table width=100%>

<TR>

<TD bgcolor="#C2CBDB" align=center>

<I><B><font size=4 color="#000000">Разделы</font></B></I>

</TD>

</TR>

</table>

<A href='index.php?go=author'>LS[Jey]</A><BR><BR>

<A href='index.php?go=news'>Новости</A><BR>

<A href='index.php?go=guestbook'>Гостевая</A><BR>

<A href='index.php?go=photos'>Фотографии</A><BR>

</TD>

</TR>

</TABLE>

</TD>

<TD width="100%" height="100%" valign="top">

<TABLE border=0 width="100%" style="border: 1px solid #949EAD">

<TR>

<TD valign="top">

Этот код мы должны выводить каждый раз при обращении к любой страничке сайта.

Далее мы в таблице отображаем содержимое отдельных разделов, указанных в переменной $go.

Для того чтобы нам было несколько легче, и не сбиваться с толку из-за лишнего текста поместим заголовок сайта в отдельный файлик «zagolovok.dat». Тогда в движке мы просто напишем:

Include (“zagolovok.dat”);

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

Казалось бы, что проще всего сделать выбор разделов сайта при помощи условий типа:

If ($go==photos) {

};

Но данный способ не будет оптимальным. Представьте сколько вам придется написать, чтобы сделать разделов 10, а потом в каждом разделе добавить несколько страниц! После недолгих размышлений я пришел к выводу что проще запоминать все значения $go и их относительные ссылки на разделы в одном файле. Назовём его «links.dat», и запишем туда следующее:

-пустая строка-

news\news.html

news

news\news.html

photos

photos\photos.html

guestbook

guestbook\guestbook.php

author

author\jey.html

Как можно догадаться первая строка содержит значение переменной, а следующая за ней – ссылку на раздел, который необходимо отобразить. У некоторых может возникнуть вопрос: «Почему первая строка пустая, а ссылка на новости повторяется?». Всё очень просто. Дело в том, что index.php могут вызвать с пустой переменной $go. За частую так и происходить при первом отображении скрипта.

Итак, мы отобразили заголовок и у нас есть значение $go. Как же нам отобразить раздел? Нам просто нужно просканировать файл на соответствующую ссылку. Это и выполняет следующая часть скрипта:

//символ перевода строки

$chr=chr(13).chr(10);

//счетчик

$count=-1;

//путь к файлу ссылок

$links=file("links.dat");

while ($count<count($links))

{

$count++;

$str=$links[$count];

if ($go.$chr==$str)

{

$count++;

$str=$links[$count];

$tok = strtok($str,"

");

//Получили ссылку на раздел и отобразили:

include($tok);

break;

}

}

Подробней о его работе. Скрипт проходит по файлу и сравнивает все строки. Как только он найдёт строчку, которая совпадает с значением переменной $go, мы считываем следующую строку, и выводим раздел, на который указывает эта ссылка.

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

Замечания

Будьте внимательны и осторожны, так как при использовании движка могут работать некорректно относительные пути к файлам (то есть если картинки гостевой лежат в «guestbook/img», то отображать их скрипт гостевой должен не из своей папки «img», а из корня движка, то есть из «guestbook/img»).

Вывод

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

Со всеми вопросами и замечаниями обращайтесь по адресу JeyDee@fm.com.ua, или пишите в гостевой ;-)

Удачи!

Скачать движок можно в разделе «Загрузка» 

© LS[Jey] / LineSoft creative group


Questions
Вопросы присылайте на мыло lsnews@fm.com.ua или мыло рассылки.

Projects


MyLib
MyLib создает образы дисков, сохраняя информацию о файлах и каталогах. Сделав образы всех своих дисков вы можете просматривать их содержимое или производить поиск без необходимости пересматривать каждый диск отдельно. Образы дисков при этом имеют размер не более 100-200Кб.
[Подробнее о проекте]

m3uCopy
m3uCopy предназначена для создания сборников музыки.
Выбрав плейлист winamp, папку или файлы мы можете: переместить или скопировать выбранные медиа-файлы в необходимую папку, рассортировать или переименовать музыку в соответствии с описанием в плейлисте, установить порядок проигрывания (при создании audio cd), ввести ограничение на общий размер файлов.
Встроенный редактор позволяет редактировать плейлист, имеет встроенный проигрыватель. Программа не нуждается в инсталляции. [Подробнее о проекте]

Advanced Visual Compare
AVC сравнивает текстовые файлы выделяя фрагменты измененного текста другим цветом.
[Подробнее о проекте]

LS Logs - ведение статистики cайта
Скрипты LSLogs позволяют вести историю посещений сайта и выдавать информацию о рейтинге как разделов так и отдельных запросов. Дистрибутив содержит описание принципа работы и последовательности действий для установки.
[Подробнее о проекте]

ICQ DB
ICQ DB предназначена для расшифровки баз данных ICQ, в которых хранятся пароли, список пользователей и другая полезная информация.
[Подробнее о проекте]

fdb
Info: fdb - база данных, позволяющая облегчить работу Delphi-программистам с сохранением/загрузкой самых различных данных в своих программах. Все функции fdb реализованы в виде .dll модуля (100Кб).
Концепция fdb состоит в: оптимальной организации данных, максимальной скорости доступа к данным, простом и надежном формате файла, полном доступе программиста к структуре и данным fdb.
» Сайт fdb (http://fdbproject.narod.ru)

Changer
Программа заменяет указанную строку str1 на str2 в файлах указанного каталога/каталогов.
[Подробнее о проекте]

fdbEditor
fdbEditor (fdbe) - редактор баз данных fdb. Предназначен для непосредственного редактирования баз данных fdb включая изменение всех типов данных и структур;
[Подробнее о проекте]


Humor :0)

Жена говорит мужу-программисту:
- Сходи в магазин, купи батон. Если есть яйца - возьми десяток.
Программист в магазине:
- У вас яйца есть?
Продавец:
- Есть.
Программист:
- Дайте десять батонов.
Надпись на мониторе: "Если эта надпись уменьшается - ваш монитор уносят."
Мафиози заходит в магазин электротоваров.

- Мне утюг.
- Вам какой? Помощнее, послабее, с тефлоновым покрытием или с металлической подошвой, с отпаривателем или без?
- А какой больнее?
Секрет безопасного вождения: "Представьте, что права вы забыли дома..."


Выпуск подготовил: mib

Написать в рассылку | Письмо LineSoft creative group | LineSoft creative group site

:CopyRights: Полное или частичное воспроизведение материалов сайта только с разрешения автора или редакции.
© LineSoft creative group lsgroup@ukr.net
http://www.ls.iatp.org.ua