вторник, 16 октября 2012 г.

Мой косяк :)

В предыдущем посте я рассказал про классы Request и Response. Так вот, в классе Request я немного накосячил. Метод getPathInfo() можно упростить. Вот другой вариант того же класса:
<?php
class Request {
    /**
     * Получить путь запроса без строки запроса и имени выполняемого
     * скрипта
     * 
     * @return string
     */
    public function getPathInfo() {
        $path_info = isset($_SERVER['PATH_INFO']) ? trim($_SERVER['PATH_INFO'], '/') : '/';
        echo $path_info;
        return $path_info;
        
    }
    
    /**
     * Поиск и получение значения параметра зпроса
     * по ключу
     * 
     * @param string $key               искомый ключ параметра запроса
     * @return mixed                    значение параметра 
     *                                  или null если параметр не существует
     */
    public function find($key) {
        // ищем ключ $key в параметрах запроса
        // если он найден вернем значение параметра
        // иначе вернем null
        if ( key_exists($key, $_REQUEST) )
            return $_REQUEST[$key];
        else
            return null;
    }
    
    /**
     * Проверяет существование параметра в запросе
     * по его ключу
     * 
     * @param string $key               проверяемый ключ
     * @return boolean
     */
    public function has($key)
    {
        return key_exists($key, $_REQUEST);
    }
}
?>

понедельник, 15 октября 2012 г.

Основная функция PHP-приложения. Классы Request и Response

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

Очень часто запрос и ответ реализуются в веб-приложениях в виде классов Request и Response. Тогда все что нужно будет приложению это определить путь запроса Request и вернуть соответствующий пути ответ Response. UML-диаграмма классов Request и Response представлена ниже:


Как мы видим в классе Request есть три метода:

суббота, 15 сентября 2012 г.

OpenCart и комментарии кода

В моем прошлом посте я писал про установку OpenCart. После его установки я решил заглянуть в код.

Конечно я понимаю, что код OpenCart не такой уж и сложный. Если знаешь базовые принципы архитектуры MVC, то разобраться можно. Но меня убило отсутствие даже коротеньких комментариев кода. Вообщем сижу матерюсь, и постепенно разбираюсь как оно там работает.

Вот такие дела.

четверг, 13 сентября 2012 г.

Opencart что это за зверь и с чем его едят: Часть 1 установка

Возникла необходимость в быстром создании интернет-магазина. И я решил использовать готовый движок. Поиск в гугле дал имя его. OpenCart.


среда, 12 сентября 2012 г.

С днем программиста!


Поздравляю всех программистов от начинающих до гуру! Желаю вам поменьше багов и побольше удачных проектов!

Как я прикрутил Python к Apache

Решил поиграться с Python. Для тех кто в танке, определение из википедии: Python - высокоуровневый язык программирования общего назначения с акцентом на производительность разработчика и читаемость кода. Мне захотелось попробовать его в web-разработке. До этого момента я использовал только PHP. Поэтому у меня уже была установлена связка Apache 2.2 + PHP 5.3 + MySQL 5.5 на Windows готовая к использованию.

Установка интерпретатора Python 2.6 происходит быстро и в два шага: загрузить дистрибутив и запустить инсталятор. Если вы еще не установили Apache, скачайте и его с офф-сайта. После установки Apache, можете сразу настроить VirtualHosts. Так удобнее будет. Мануалы по настройке vhosts в Apache находим в гугле. Но вернемся к нашим баранам :)

Приступаем к установке



понедельник, 10 сентября 2012 г.

Как установить подсветку синтаксиса исходного кода на Blogger

Для подсветки исходного кода я использую SyntaxHighlighter. Он может подсвечивать исходный код на языках C++, PHP, JavaScript, Python и т.д. Для этого, код который нужно подсвечивать, нужно разместить внутри тега <pre>, указав класс CSS brush: <язык>. Но перед этим в теге <head> разместить следующий код:






Этот способ годится тем у кого сайт крутится на хостинге. А что делать нам блоггерам? Все очень просто.