SEO продвижение сайтов

Архитектура современных сайтов на PHP

Необходимо освоить установку среды для эмуляции работы сайта в среде WAMP, LAMP, LEMP. Для этого нужно установить виртуальную машину VirtualBox, а уже на неё ставить серверную платформу.

Локальный сервер Open Server имитирует полноценную работу сервера хостера, на котором находится WINDOWS или Linux, Apache или Nginx, PHP-интерпретатор и MySQL. Делаем доступ к директории сайта с основной машины.

Создаём проект на редакторе IDE (интегрированная среда разработки - англ. Integrated Development Environment), например SUBLIME.

Основные части современного сайта:

Front Controller

Настраиваем .htaccess так, чтобы все запросы приходили на index.php - Front Controller. Для этого в настроечном файле .htaccess указываем следующие команды:

AddDefaultCharset utf-8

RewriteEngine on

RewriteCond %{REQUEST_URI} /|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw))$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#Все URL на index.php
RewriteRule .* index.php [L]

PHP autoloader

Если при создании объекта класса, сам класс не был найден, автоматически срабатывает функция spl_autoload_register($nameClass), которая получает имя класса и формирует адрес для загрузки файла с классом.

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

<?php
    spl_autoload_register(function($name){

        $arrPath=[//Тут может быть подключение файла с путями: Класс=>путь к файлу с Классом
            "$name"    =>'class',
            "NewsClass"=>'app/news',
            "ShopClass"=>'app/shop',
        ];
        $pathClass=$arrPath[$name].'/'.$name.'.php';//Путь до файла с Классом

        if (file_exists($pathClass))
            require_once($pathClass); // Загружаем файл с классом
        else
        {
            echo "Хочу загрузить класс $name из $pathClass<br>\n";
            throw new Exception("Невозможно загрузить $name из $pathClass<br>\n");
        }
    });


    
    try {
        //Тут пробуем создавать объекты
        //$obj=new NonClass();
        $obj=new NewsClass2();
        
    } catch (Exception $e) {
        echo $e->getMessage(), "\n";
    }
?>

Config file in PHP

Нужно создать конфигурационный файл со всеми установочными данными, именами, адресами, паролями и др. необходимой информацией для сайта - все данные в одном месте. Можно создать либо через класс или конструкцию require_once() и return. Например на файле Сonfig.php:

<?php
	return [
		'login'=>'gen',
		'password'=>123,
		'name'=>'Геннадий',
		'city'=>'Москва',
	];

	/*или так...
	class Config{
		public $login='gen';
		public $password='123';
		public $name='Геннадий';
		public $city='Москва';
	}
	*/
?>

А в файле, где потребуется пишем:

<?php
    $d=require_once('Сonfig.php');
    //$d=new Config;//или так...

    print_r($d);
?>

Добавить комментарий


Защитный код
Обновить

Ошибки в тексте выделить и Ctrl+Enter


Расскажи о нас друзьям

Web-технологии

SQL инъекции в PHP

Конечно, SQL инъекции в PHP возможны только при отсутствии проверки данных из форм и при наличии явных ошибках программистов. Я пишу эту статью для тех, кто НЕ хочет стать жертвой таких атак на свой сайт и для тех, кто хочет писать свои безопасные приложения.

Пишем форму для отправки логина и пароля для АВТОРИЗАЦИИ:

<form action="" method="POST">
        <input type="text" name="email" value="<?=$email?>"><br>
        <input type="text" name="pass" value="<?=$pass?>"><br>
        <input type="submit" name="subm" value="Авторизоваться">
</form>
Подробнее...

PHP-код вывода массивов в HTML

Все программисты PHP (с любым уровнем подготовки), конечно знаю, как вывести массив PHP в HTML-код: ну, конечно же через цикл!

Я предлагаю это сделать при помощи функции, которая отобразит любой массив в любом виде c HTML оформлением. Данной функции мы передаём в качестве аргументов: массив и формат отображения его в виде другой функции.

Такой подход даёт универсальность данной функции отображения массива и значительно сокращает дублирование PHP кода.

Пример:

Подробнее...

Composer — менеджер зависимостей в PHP

https://getcomposer.org/

  • Запускаем Open Server, открываем консоль,
  • Переходим в папку проекста - cd C:\Users\alehin_gv\Desktop\OSPanel\domains\test.ru
  • Скачиваем Композер - composer init
  • Устанавливается composer.json
Подробнее...
Интересные статьи

Стишки-депрессяшки

Стишки-депрессяшки

У меня нет попы

у меня нет тить

я должна работать

чтобы как то жить

©

В камасутре много

интересных поз

жаль у нас с женою

остеохондроз

©

Надо же приснится

всякая херня

прямо на работе

среди бела дня

Подробнее...

Почему или резонные вопросы

Почему или резонные вопросы

Хотель бы получить ответы на такие вопросы:

  1. Почему современные технологии одновременно позволяют производить банки для пива, которые не разлагаются на свалке за 100 лет, и кузова автомобилей, которые гниют за 3-4 года?
  2. Почему лимонный сок сделан из концентрата, а средство для мытья посуды – из настоящего лимона?
  3. Почему белая нитка, которой соединены новые носки, всегда оказывается прочнее, чем нитки, из которых сделаны сами носки?
Подробнее...

Детские загадки для взрослых

murzilka m

*Загадки, которые были опубликованы в журнале "Мурзилка" 30 лет назад!!! Сегодня они не для детей точно: ))*

1. Чтобы спереди погладить, нужно сзади полизать. (Почтовая марка)

2. Кругом волоса, посредине колбаса. (Кукуруза)

3. Сверху черно внутри красно, как засунешь так прекрасно. (Галоши)

Подробнее...

Оставить заявку

Закрыть
Заполните фрму и отправьте нам заяку
Заполните все обязательные поля*
captcha
Перезагрузить