Здесь вы найдете мои заметки разработчика на php, html, xml, xsl, xslt, ajax и еще много умных и модных слов.
2007-11-22
php умеет делать красоту
Только что вот пытался запустить проект на локалке. Понимал что Zend Framework сейчас будет делать throw exception'ов разных, но я был поражен. Челюсть висит до сих пор и наверное пойду выпью чай от восхищения. Как это и почему - возможно в другой раз разберусь, а пока - работа ждет.
UPD: Я так понял все exception'ы так обрабатываются + trigger_error'ы
2007-11-02
Рас ОС не стает браузером, браузер стает ОС
2007-10-23
Zend Studio Neon - еще один маленький недочет
Hi. It seems to be not too smart in here. You could make studio work faster just cause it is parsing same thing twice (+ it gives two different links to one file):
http://shareua.com/fullimg/2e39c0/snimok14.png
I've clicked with Ctrl to Kost_DbTree_Field and it showed me two ways to one file :)
Thanx.
2007-10-12
Еще одна бага в ZS Neon
Пример неправильной генерации:
/**
* Tests Kost_DbTree->SetTable()
*/
public function testSetTable () {
// TODO Auto-generated Kost_DbTreeTest->testSetTable()
$this->markTestIncomplete ( "SetTable test not implemented" ) ;
$this->Kost_DbTree->SetTable(/* parameters */) ;
}
http://pastebin.mozilla-russia.org/90198
Zend Studio Neon - недочет
if (!isset($a))
print ":(";
http://pastebin.mozilla-russia.org/90197
Подсвечивает и говорит что мол "переменная $a не задана".
2007-10-11
Eclipse + SQLite
Работая с PDT (бесплатный и очень урезанный Zend Studio) я решил попробовать работать с БД через средства eclipse'а.
Шаг 1. Подключение работы с БД в eclipse. Используем eclipsesql. Для этого заходим в меню Help->Software Updates->Find and Install..., добавляем новое зеркало http://eclipsesql.sourceforge.net/ и устанавливаем сию фичу.
Шаг 2. Драйвер sqlite. Для установки sqlite необходимо еще немного усилий. Дело в том, что драйвера sqlite там по умолчанию нету. Качаем его по адресу http://www.zentus.com/sqlitejdbc/ качаем PureJava-версию. Потом делаем "New Connection Profile", там выбираем "New Driver". Во вкладке Extra Class Path выбираем наш jar-файл, потом жмем List Drivers и получаем искомый. Все. Появился драйвер. Далее должно быть понятно.
2007-09-11
Firefox :: AdBlock plus :: GMail-реклама
mail.google.com#div(class^=rh)Либо еще вариант -- просто подписаться на список EasyList Element
2007-09-10
Firefox :: одновременно запустить несколько профилей
Проверено для Windows: firefox -no-remote -P
Не проверено Linux: firefox -ProfileManager
2007-06-20
Еще раз о пользе Explain в MySQL
Взято: phpinside.ru
Powered by ScribeFire.
2007-06-19
HTML5 уже в разработке. Что нового?
Источник1: http://phpinside.ru/
Источник2: http://w3.org/
Powered by ScribeFire.
2007-05-22
Проекты, основанные на Zend Framework
Recently an email was sent to the Zend Framework General List that mentioned the fact that there are now several projects on SourceForge based on the Zend Framework. There are actually 7,187 projects if you just search for Zend Framework but if you put search for Zend Framework in quotes, we get down to the 17 we really want. Here is a rundown of most of them.
Честно говоря - не сильно впечатлило, как бы мне не нравилась политика Zend Framework. Но ощущение зарождаемости все равно есть, так что я лично отказываться пока не буду.
Powered by ScribeFire.
2007-05-16
Голосовалки (рейтинги)
Преимущество именно его диаграмм в том, что
- Они полностью сделаны на js/css/html
- Красотища
- Кросс-браузерность
Страничка проекта, "playground" автора.
Powered by ScribeFire.
2007-05-11
Smarty и Zend Framework
Like I’ve mentioned in previous posts, I’m a great fan of usingЕсли вы работаете с Zend Framework вам будет полезна данная статья, да и весь блог тоже.
“decent” template engines, and try to avoid writing views in php. I
don’t want to discuss the reasons behind this in detail right now. I
just believe that limiting yourself to a small set of template tags
makes you think more about structuring your output and separating logic
from design. Which is a good thing.
Источник: Zend Developer Zone
Powered by ScribeFire.
70 советов экспертов для лучшего кодинга на CSS
http://www.smashingmagazine.com/2007/05/10/70-expert-ideas-for-better-css-coding/
Powered by ScribeFire.
2007-04-03
Пишем консольные скрипты
d:\php\php-cgi.exe somescript.php
Вот. Для более легкого писания советую делать так.
init.php
<?php
define('ROOT_DIR', getcwd());
ini_set('html_errors', FALSE);
ini_set('implicit_flush', TRUE);
ini_set('max_execution_time', 0);
ini_set('register_argc_argv', TRUE);
$stdin = fopen('php://stdin', 'r');
$stdout = fopen('php://stdout', 'w');
$stderr = fopen('php://stderr', 'w');
destruct.php
<?php
fclose($stdin);
fclose($stdout);
fclose($stderr);
script.php
<?php
require('init.php');
...
require('destruct.php');
2007-03-29
Скачивание файла
Если вы хотите чтоб ваш файл скачивался, а не открывался браузером, просто пошлите следующий хедер:
header('Content-Disposition: attachment; filename="blabla.html"');
2007-03-20
Javascript code prettifier test
Отличная вещь "Code Prettifier". Если вам нужно показать какой-нибудь код на своей страничке или в своем блоге - сделайте это просто.
$s = "Hello, world!";
for ($i=0; $i < strlen($s); i++) {
print $s[$i];
}
Для установки этого девайса необходимо всего лишь:
- Подключить .css и .js-файлы
<link href="prettify.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="prettify.js"></script> - Добавить onload="prettyPrint()" в тэг body вашего документа.
- Изменить стили так как вам нравится
Вот и все. Пользоваться тоже очень просто. <pre class="prettyprint">...</pre или <code class="prettyprint">[код]</code>
Замечание! Экранируйте значек "меньше" (<) при помощи ". А вместо " используйте кавычки " для строчных разделителей
На следующей страничке вы можете проверить, насколько ваш броузер поддерживает сей инструмент.
Удачи :)
2007-03-04
свойство min-height для Internet Explorer (IE)
min-height: 200px;
_height: 200px; /* хак для IE */
2007-03-03
Вывод ошибок
error_reporting
if (ini_get('display_errors
ini_set('display_errors
};
2007-02-02
Валидная вставка флешки (следуем w3c-стандартам)
Вставлять флешку правильно вот так:
<a style="left: 865px ! important; top: 0px ! important;" class="abp-objtab visible ontop" href="http://www2.blogger.com/images/hat.swf"></a><object type="application/x-shockwave-flash" data="./images/hat.swf" height="211" width="865"> <param name="movie" value="./images/hat.swf"><img src="http://www2.blogger.com/images/top.jpg" alt="Шляпа" height="211" width="865" /></object>
где изображение - картинка, показывающаяся, если флеш отключен или отсутствует.
Изображение не обязательно, не хотите - не делайте.
2007-01-29
Абсолютные пути
define('ROOT_DIR', dirname(__FILE__) . '/');
Вот и все. Теперь юзаем ROOT_DIR и опираемся на него.
2007-01-22
Используем AJAX
И тут мне понадобилось работать с ajax'ом в полной мере. Первый шаг, который надо сделать - выбрать класс для работы с ним. Как это сделать? Будем думать.
На самом деле главным вопросом было: использовать мне скрипт с сайта http://dklab.ru под названием JsHttpRequest или нет. Казалось бы: вещь пропиареная по полной программе, вроде как одна из самых кроссбраузерных и т.д. и т.п. - но с другой стороны не слишком ли тяжело ею пользоваться?
Напишем простенький пример использования. Точнее, возьмем сложный пример и "сдерем" его к себе в простой пример. Итак, драть будем с http://dklab.ru/lib/.../test_all.php . Исходник Загрузчика - http://dklab.ru/lib/.../load.phps .
Вот что получаем для себя:
test.html
1.php
Также имеем файлы
JsHttpRequest/JsHttpRequest.js
и
JsHttpRequest/JsHttpRequest.php
(качаются по ссылке выше)
ИМХО, замечательно. Все работает, все кроссбраузерно.
Не проще ли было делать вместо всех этих req.responseJS.content все пихать в req.responseText ? Нет. Не проще. Вывод responseText мы со временем скроем и иногда будем показывать для просмотра отладочной информации. Это очень удобно.
2007-01-21
IE7 standalone
http://tredosoft.com/files/IE7s/IE7S-setup.exe
Details: http://tredosoft.com/IE7_standalone
If you have IE7 already installed then you need to uninstall it first to restore IE6 on your machine.
Взято с rsdn.ru