Сегодня 12 июля, суббота ГлавнаяНовостиО проектеЛичный кабинетПомощьКонтакты Сделать стартовойКарта сайтаНаписать администрации
Поиск по сайту
 
Ваше мнение
Какой рейтинг вас больше интересует?
 
 
 
 
 
Проголосовало: 7281
Кнопка
BlogRider.ru - Каталог блогов Рунета
получить код
RMCreative.ru - Блог
RMCreative.ru - Блог
Голосов: 1
Адрес блога: http://rmcreative.ru/feed/
Добавлен: 2008-06-12 21:34:00 блограйдером ZaiSL
 

Paper.js

2011-06-28 22:22:52 (читать в оригинале)

Интересная библиотека для работы с canvas. Отличается наличием объектной модели и приятным простым API. Например, прямоугольник можно построить так:

var topLeft = new Point(10, 20);
var rectSize = new Size(200, 100);
var rect = new Rectangle(topLeft, rectSize);

Пробуем

Пользуясь случаем вспомнил давнее увлечение и набросал абстрактную штуковину.



Yiiclipse, поддержка Yii для Eclipse PDT

2011-06-27 16:31:17 (читать в оригинале)

В лагере IDE, умеющих работать с Yii прибыло. Конечно, с фреймворком и так довольно приятно работать во всех IDE с нормальной поддержкой PHP, но некоторые специфичные вещи всё-таки бывают очень полезными.

Yiiclipse добавляет две возможности к стандартным для PDT: wizard для создания проекта и, что самое главное, навигацию по вызовам view и layout.

Пользуемся



Yii 1.1.8

2011-06-27 00:08:06 (читать в оригинале)

Вышел релиз Yii 1.1.8, включающий более 80 багфиксов, новых возможностей и улучшений. Огромное спасибо тем, кто репортил баги, предлагал новые фичи и использовал по назначению Orphus на yiiframework.ru.

Забрать свежий дистрибутив можно с официального сайта.

Инструкции по обновлению можно почитать в UPGRADE.

Полный список изменений, как обычно, можно прочитать в CHANGELOG, мы же бегло рассмотрим самое интересное.

Свои классы для правил URL

Для сложной работы с URL, с которой не может справится стандартный класс CUrlRule (например, когда часть URL зависит от значений в базе данных), можно написать свои классы для обработки URL и использовать их в конфигурации CUrlManager:

array(
    // стандартное правило '/login' → 'site/login' и т.д.
    '<action:(login|logout|about)>' => 'site/<action>',
 
    // нестандартное правило для '/Производитель/Модель'
    array(
        'class' => 'application.components.CarUrlRule',
        'connectionID' => 'db',
    ),
 
    // стандартное правило для 'post/update'
    '<controller:\w+>/<action:\w+>' => '<controller>/<action>',
),

Сам класс при этом наследуется от CBaseUrlRule и выглядит примерно так:

class CarUrlRule extends CBaseUrlRule
{
    public $connectionID = 'db';
 
    public function createUrl($manager,$route,$params,$ampersand)
    {
        if ($route==='car/index')
        {
            if (isset($params['manufacturer'], $params['model']))
                return $params['manufacturer'] . '/' . $params['model'];
            else if (isset($params['manufacturer']))
                return $params['manufacturer'];
        }
        return false;  // не применяем правило
    }
 
    public function parseUrl($manager,$request,$pathInfo,$rawPathInfo)
    {
        if (preg_match('%^(\w+)(/(\w+))?$%', $pathInfo, $matches))
        {
            // совпадают ли $matches[1] и $matches[3] с
            // производителем и моделью в базе?
            // если да, выставляем $_GET['manufacturer'] и/или $_GET['model']
            // и возвращаем 'car/index'
        }
        return false;  // не применяем правило
    }
}

Улучшенный автозагрузчик классов

В Yii уже есть загрузчик классов, подключающий их как только они потребуются. Теперь он не конфликтует со сторонними загрузчиками и может выполняться как до них, так и после. В предыдущих версиях он всегда выполнялся после сторонних автозагрузчиков, что приводило к лишним вызовам при использовании классов Yii:

// По умолчанию сторонний загрузчик регистрируется до загрузчика Yii
Yii::registerAutoloader($autoloader);

Теперь можно делать так:

// При передаче true вторым параметром сторонний автозагрузчик добавляется после загрузчика Yii
Yii::registerAutoloader($autoloader, true);

По умолчанию автозагрузчик Yii использует PHP include path. Для некоторых хостингов это является проблемой, решить которую можно немного поправив index.php:

require('path/to/yii.php');
// отключаем PHP include path
Yii::$enableIncludePath = false;
Yii::createWebApplication($config)->run();

Логирование в режиме реального времени

Некоторые консольные приложения могут работать очень долго. Для них полезно писать сообщения в лог сразу, а не ждать завершения приложения:

// автоматически передаём каждое сообщение роутеру лога
Yii::getLogger()->autoFlush = 1;
// автоматически пишем сообщения при получении логгером
Yii::getLogger()->autoDump = true;

Работаем со счётчиками в БД через AR

В классе CActiveRecord появился новый метод saveCounters(), похожий на существующий CActiveRecord::updateCounters(). Главное отличие — saveCounters() работает только с текущим объектом в то время как updateCounters() работает со всей таблицей:

$post = Post::model()->findByPk(1);
// наращиваем количество просмотров поста
$post->saveCounters(array('views'=>1));
// то же для прошлый версий
Post::model()->updateCounters(array('views'=>1), 'id=1');

Генерация файлов переводов

При использовании yiic message часто приходилось удалять старый файл и заменять его новым, который генерировался рядом. Теперь можно писать сразу в старый файл, если выставить в конфигурации команды опцию overwrite в true.

Создание URL в консольных приложениях

В веб-приложениях для генерации URL обычно используется CUrlManager, который ранее не был доступен консольным приложениям. Теперь и в веб-приложениях и в консольных можно пользоваться Yii::app()->createUrl(), что очень удобно, например, для построения sitemap, в котором перечисляются URL веб-приложения.

В clips теперь можно использовать параметры

Это полезно в том случае, когда кусок кода в view повторяется много раз, но он недостаточно сложен для выноса его в отдельный файл:

<?php // определяем clip ?>
<?php $this->beginClip('hello')?>
<p>Привет, {username}!</p>
<?php $this->endClip() ?>
 
<?php // используем clip ?>
<?php $this->renderClip('hello',array(
    '{username}'=>'Qiang',
))?>
<?php $this->renderClip('hello',array(
    '{username}'=>'Alex',
))?>
<?php $this->renderClip('hello',array(
    '{username}'=>'Michael',
))?>

Анонс на хабре



YiiCookbook.​org

2011-06-25 23:47:54 (читать в оригинале)

По случаю завершения работ над текстом книги запустил посвящённый ей сайт, на котором будут собираться описки и отзывы, а также, после печати книги, будут выложены код и, возможно, бесплатная глава.

Как вам?



Sprite Cow

2011-06-25 23:42:48 (читать в оригинале)

Отличный инструмент, позволяющий легко работать с изображениями-спрайтами. Загружаем картинку, щёлкаем на область, получаем CSS со смещением, высотой и шириной.

Очень удобно, меня даже затянуло и я загнал все изображения этого блога в пару спрайтов. Единственный минус — не работает в Opera.

Пользуемся



Страницы: ... 81 82 83 84 85 86 87 

 


Самый-самый блог
Блогер Рыбалка
Рыбалка
по среднему баллу (5.00) в категории «Спорт»


Загрузка...Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.