Движок для сайту своїми руками

Практика пограммірованія скриптів на PHP

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

Функції читання файлів в PHP.

Вобщем, прочитати файл ми можемо декількома способами. Перший, і найпростіший - це використати функцію file (). Вона, отримавши ім'я файлу, відразу ж повертає масив рядків цього самого файлу:


$ Strings = file ( "myfolder / myfile.txt");
$ First_string = $ strings [0];
.

Зробимо таку собі самопальную базу даних. Для неї нам, по-перше, знадобляться такі функції: одна для читання контенту сторінки (наприклад, тексту статті) з зовнішнього файлу - завантаження даних; функція для завантаження шаблону з файлу - тобто, завантаження оформлення (дизайну).

function loadTemplate ($ path)
/ * Функція завантажує шаблон за вказаним шляхом,
і повертає його у вигляді рядка, наприклад,
для обробки функцією parceTemplate () * /
$ Template = fopen ($ path, "r") or print ( "Не вдалося завантажити файл шаблону [". $ Path. "]");

if ($ template)
return fread ($ template, filesize ($ path));
else
return false;

function parceTemplate ($ template, $ params_values)
/ * Функція синтаксично розбирає вказаний шаблон,
замінюючи назви параметрів, службовців індексами
масиву $ params_values ​​на їх значення * /
while (list ($ param, $ value) = each ($ params_values))
$ Template = str_replace ( "¤¤", $ value, $ template);
>


function readArticle ($ path)
/ * Функція читає вказаний файл і повертає
його вміст у вигляді масиву частин статті,
розділених конструкцією ¤¤ * /
$ Article = fopen ($ path, "r") or print ( "Не вдалося завантажити файл статті [". $ Path. "]");

Десь тут треба було б прикрутити гранітну плиту з написом «Регулярним виразами від вдячних фанатів», оскільки без цієї зручної штуки було б дуже складно створити вищенаведені функції. Розглянемо трохи докладніше, як ці вирази влаштовані.

Регулярні вирази.

Трохи історії.

Математик Стівен Клин вперше представив регулярні вирази в 1956, в результаті його роботи з рекурсивними наборами в природній мові. Вони були створені як синтаксичні набори, що використовувалися для знаходження соотвествующих шаблонів в рядках, які пізніше допомагали звертатися до з'являється технологічної інформації, полегшуючи автоматизацію.

З тих пір, регулярні вирази пройшли через безліч ітерацій, і поточний стандарт зберігається ISO (Міжнародною організацією зі стандартизації) і визначено Open Group, спільним зусиллям різних технічних некомерційних організацій (2).

Відповідність символів.

Труднощі регулярних виразів полягає в тому, що Ви хочете шукати або чому це повинно відповідати. Без цієї концепції, RE марні. Кожен вираз буде містити деяку команду про те, що шукати:

Відповідність символів в регулярних виразах

Отже, продовжимо. Створені нами функції знадобляться для читання статей з файлів і виведення списку найновіших статей. Причому для модифікації всього цього нам потрібно буде лише написати нову статтю у вигляді файлу з певним синтаксисом (див. Нижче) і додати її в папку на сервері.

символи ¤<и>¤ використовується для відділення частин одна від одної. Ім'я частині ж ніякого значення не має і може бути будь-яким набором символів англійського алфавіту, пробілу, підкреслення або дефіса.

Для виведення списку статей використовується цикл, перебирають всі файли з потрібного каталогу. Якщо він натикається на файл * .art, то відразу на радощах додає його в масив. Залежно від зазначеного параметра, він може або додати ім'я цього файлу, або назва міститься в ньому статті, або відразу готову посилання на цю статтю.

Що ж, невелика частина роботи над нашим движком вже пророблена. Ця частина коду - основа нашого першого движка. Для конкретних цілей до нього потрібно чіпляти додаткові функції і створювати самі тексти і шаблони сторінок.

Посилання після викладеного

Чи знаєте Ви, що компонентний складальне програмування - це об'єктно-орієнтоване складальне програмування, засноване на поширенні класів в бінарному вигляді і надання доступу до методів класу через строго певні інтерфейси. Компонентне складальне програмування підтримують технологічні підходи COM, CORBA. Net.

НОВИНИ ФОРУМУ
Лицарі теорії ефіру

Про це Корнілов написав на своїй сторінці в соцмережі.

За словами Корнілова, тоді його повідомлення було сприйнято з недовірою.

Тепер же Володимир Корнілов вирішив повернутися до цієї теми, в зв'язку з чим публікує у себе в фейсбуці фотографії загадкових ізраїльтян, які брали участь в одеській бійні.

Серед безлічі питань, на які Корнілов, за його словами, хотів би отримати відповідь, наприклад, такі:

«Чому вони випадково розгулювали по Одесі з медичним спорядженням, в гумових рукавичках, звідки вони знали заздалегідь про те, що будуть поранені й убиті? Або чому цей боєць раптом різко забув англійську, коли зрозумів, що його записують? ».

Води озер, морів і океанів північного по --------- Лушар обертаються проти годинникової -з-т - р-е-л-к-і, а води південного полушарія- в-ра - ща-ють -ся- по- ч-асів стрілкою, - обра-зуя- -гіг-ант-скі-е вод-ово-роти.

Основною причиною обертання вирів є місцеві вітру.
І чим вище швидкість вітрів тим вище швидкість обертання вирів і як наслідок, вище відцентрова сила вирів, завдяки чому підвищується рівень вод морів і океанів.
А чим нижче відцентрова сила вирів, тим нижче рівень вод морів і океанів.

Швидкість течій, по периметру морів і океанів не скрізь однакова і залежить від глибини узбережжя. У мілководній частині моря швидкість течій збільшується, а в глибоководній частині моря зменшується.
Сезонні коливання рівня вод спостерігаю-ться не по всьому узбережжю морів і океан-ів, а тільки в тих узбережжях де висока кутова швидкість течій і як наслідок, висока відцентрова сила води. (Відцентрова сила F = v / r).
На прямолінійних узбережжях, де течії не мають кутовий швидкістю, рівень вод не підвищується.

Схожі статті