Novice

Антипаттерн “Зависимость от производителя”

Рубрика: Профессиональный php
web разработка, php скрипты

Сегодня рассмотрю один интересный антипаттерн под названием… в оригинале это звучит как “Vendor Lock-in”, но если перевести на русский, то получится что-то вроде “Запертый производителем” или “Зависимость от производителя”.
Суть этого антипаттерна заключается в том, что разрабатываемое ПО использует некоторые функционал ПО другого производителя.

Рассмотрим на явном примере – допустим, что мы разрабатываем программу – почтовый клиент с веб-интерфейсом. Если это ПО пишется на php, то наиболее вероятно, что в нем будет использована библиотека для работы с электронной почтой – phpmailer.
Читать далее »

 #  #  #  #  #  #  #  #  #  #
Novice

Магические кавычки (Magic Quotes) в PHP и экранирование

Рубрика: Основы php
web разработка, php скрипты

Сегодня я хотел бы посвятить статью начинающим, а также тем, кто уже имеет какой-то опыт программирования на PHP, но ни разу не сталкивался с так называемыми «магическими кавычками», но слышал про такие.

Сразу сделаю замечание: эта статья посвящена версиям PHP 4 и 5. В 6-ой версии PHP magic_quotes были убраны и считаются устаревшими (deprecated).

Итак, что такое Magic Quotes. Читать далее »

 #  #  #  #  #  #  #  #  #  #
Novice

Шаблон проектирования: Фабрика

Рубрика: Профессиональный php
web разработка, php скрипты

Фабричный метод, фабрика или виртуальный конструктор – это все шаблон проектирования, который предоставляет интерфейс для создания объектов имеющих схожие свойства своим подклассам.

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

 #  #  #  #  #  #  #  #  #  #
Novice

Работаем с FTP

Рубрика: Практика php
web разработка, php скрипты

Сегодня мы поговорим о том, как работать с FTP из нашего PHP-скрипта, а кроме этого попытаемся что-нибудь автоматизировать с помощью функций для работы с FTP.

Для начала рассмотрим примеры взаимодействия нашего PHP-скрипта с FTP-сервером. А в качестве задачи выполним следующую – установим для определенной директории и всех вложенных в нее поддиректорий определенные права (например, права на запись), что было бы довольно рутинно, если бы мы ставили эти права вручную через какой-нибудь FTP-менеджер (например, через FAR).

Иногда возникает такая проблема, что нам нужны права на запись для определенной директории, но мы не можем воспользоваться функцией chmod, если скрипт, который ее использует, не был создан под юзером, в котором работает PHP. Проще говоря, если мы заливаем PHP-скрипт на FTP, а затем пытаемся с его помощью установить права 777 на какую-нибудь папку или файл, то PHP говорит нам нечто вроде «Access Denied». Но если бы мы создали этот PHP-скрипт из другого PHP-скрипта, который находится на этом же сервере, то мы могли бы воспользоваться функцией chmod. Но зачастую возникает именно первая ситуация, когда мы скрипты заливаем на FTP вручную, а потом ставим сами необходимые права на определенные папки и файлы (через тот же самый FTP или зайдя на сервер под SSH).

А если нам нужно установить права на все папки в определенной директории, а их там сотни? Причем уровень вложенности = 10, допустим. Тогда руками тут не обойдешься. Придется писать свой скрипт, который рекурсивно будет ставить права. Этим мы и займемся далее.
Читать далее »

 #  #  #  #  #  #  #  #  #  #
Novice

Проблемы с Zend Framework

Рубрика: Практика php
web разработка, php скрипты

Давно хотел поработать с Zend Framework, да все руки не доходили. А тут несколько дней назад услышал, что вышла новая версия 1.7.1. Ну я и решил восполнить пробел, так сказать.

Сразу скажу, что этот пост не о том, как сделать свой первый сайт на Zend Framework за 10 минут. И даже не о том, как в Zend Framework все круто сделано. Сразу после того как я скачал 20 Мб архив с исходниками и всем остальным – я полез в инет за поиском документации с примерами вроде “Быстрого старта”.

Документации по этой теме достаточно даже на русском языке. Тем не менее, на второй день изучения этого фреймворка у меня уже накопилось несколько вопросов, поиск ответов на которые порядком затянулся.
Читать далее »

 #  #  #  #  #  #  #  #  #  #
Novice

Передача формы методом POST в PHP двумя способами

Рубрика: Практика php
web разработка, php скрипты

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

Форма выглядела примерно следующим образом:

<form action="login.php" method="post">
<input name="name" value="" type="text" />
<input name="pwd" value="" type="password" />
<input value="Войти" type="submit" />
</form>

Первым делом я конечно проверил, а можно ли передать логин и пароль скрипту login.php методом GET. Т.е. залогиниться с помощью примерно следующего URL: Читать далее »

 #  #  #  #  #  #  #  #  #  #
Novice

Шаблон проектирования Реестр

Рубрика: Профессиональный php
web разработка, php скрипты

Дальнейшим развитием шаблона “Одиночка” (Singleton) является шаблон проектирования Реестр (Registry). Основное назначение этого шаблона проектирования – это организация глобального хранилища с единственной точкой доступа. Самая частая реализация Реестра – это обычный шаблон типа Singleton с единственным статическим полем-массивом, в котором хранятся глобальные объекты.

Начнем рассмотрение этого шаблона с конца – с результатов его внедрения. Например, предположим, что мы используем Реестр для хранения объекта работы с БД. В самом начале работы скрипта, мы производим инициализацию объекта БД, и сохраняем этот объект в реестре:

…
$DB = new DB($host, $username, $password, $dbname);
Registry::getInstance()->set('DB', $DB);
…

Читать далее »

 #  #  #  #  #  #  #  #  #  #

Страница 8 из 28« Первая...«678910»...Последняя »


© 2008 - 2010 i-novice.net | Все права защищены.