+14.28
Рейтинг
20.70
Сила

Revin Roman

Руководство для проектирования хорошей схемы базы данных

Оригинал: Guidelines for good schema design

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

Первый и наиболее важный момент заключается том, что Yii-приложения широко
используют шаблон ActiveRecord. Исходя из этого, все конструктивные соображения
направлены на оптимизацию такого использования, а не на человека, который будет
составлять сложные SQL-запросы. В самом деле, многие из проектных решений напрямую
конфликтуют с передовой практикой для создания дружественных SQL-схем.

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

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

Согласованность играет очень большую роль.

Тем не менее, это всего лишь рекомендации, а не правила, и ваш код будет работать, даже
если вы не последовали им. Принимая рекомендации, вы облегчите себе жизнь.

Читать дальше →

Создание своего правила валидации (validation rule)

Оригинал: Create your own Validation Rule

Иногда, стандартные правила валидации фреймворка Yii, могут не удовлетворять треованиям системы. В этом случае необходим создать свое правило валидации.

Быстрый способ

Самый простой способ создать новое правило проверки, это написание специального метода внутри модели, в которой он будет использоваться.

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

Прежде всего в вашем классе модели вам придется добавить две константы:
const WEAK = 0;
const STRONG = 1;


Читать дальше →

Правило валидации "safe", для тех, кто в танке

Оригинал — Understanding «Safe» Validation Rules

Вступление

Зачастую, начинающие Yii программисты, непонимают для чего нужно правило валидации «safe». Эта статья должна прояснить путанницу, и заодно объяснить, что такое саммовое присваивание.

Вкраце. Правила валидации служит двум целям:
  1. Убедиться, что данные переданные через форму, введены корректно.
  2. Определить, какие поля могут быть назначены переменной $model.
Они связанны, но она не являются одним и тем же.

Взглянем на набор правил проверки

Перед тем, как начать работу, мы продемонстрируем Вам типовые правила проверки данных модели. Наш пример взят из блога Tutorial. Модель «User» находится в protected/models/User.php.
// protected/models/User.php
    ...
    public function rules()
    {
        return array(
            array('username, password, salt, email', 'required'),
            array('username, password, salt, email', 'length', 'max'=>128),
            array('profile', 'safe'),
        );
    }

Правила проверки определяются из массива array(...). Содержит список атрибутов, имя валидатора, а также дополнительные параметры, необходимые различным валидаторам. Также может содержать ключевое слово «on», указывающее сценарий валидации, но мы не будем описывать это в статье.

Читать дальше →

Использование класса CButtonColumn для изменения кнопок в виджете CGridView

Оригинал: Using CButtonColumn to customize buttons in CGridView

Вступление

CGridView является одним из наиболее гибких виджетов в Yii и примером такой гибкости является класс CButtonColumn. Он используется для создания кнопок для управления моделью в каждой строке таблицы. В этой инструкции мы объясним способы, которыми пользователь может настроить CButtonColumn для своих потребностей.

Читать дальше →

Встречайте, SHA-3

Хотя SHA-2 ещё не был скомпрометирован, профессора из National Institute of Standards and Technology выбрали алгоритм, который прийдёт ему на смену. После нескольких лет сложных анализов, алгоритм был выбран из 64 претендентов. Встречайте, Keccak.

Официальный анонс.

Идея для архитектуры приложения на yii. Часть 1. Введение и конфиги

Добрый день. Сегодня я хотел бы поделиться простым рецептом для архитектуры приложений малого и среднего размера на Yii. Идея навеяна разработчиком 2GIS.API Алексеем Спиридоновым. Видео с конференции: www.youtube.com/watch?v=GyX5uAnApKg&feature=plcp

Основная проблема начинающих разработчиков в том, что они не понимают принципа MVC. Приведу толкование MVC с точки зрения википедии в миллионный раз:
Model-view-controller (MVC, «Модель-представление-поведение», «Модель-представление-контроллер») — схема использования нескольких шаблонов проектирования, с помощью которых модель данных приложения, пользовательский интерфейс и взаимодействие с пользователем разделены на три отдельных компонента так, что модификация одного из компонентов оказывает минимальное воздействие на остальные.

Итак, что мы должны сделать согласно этой схеме? Правильно, отделить логику от представления. Но это еще не все, логику приложения необходимо разделить на сервисные слои. В этом и заключается вся сила mvc.

Для начала определим, что же должен делать каждый слой MVC.

M. Модель
Модель данных. То есть все что у нас хранится в базах данных (mysql, sqlite, couch, redis и тд). Работа с данными происходит только внутри модели.

V. Представление
Представление данных. Сценарии, описывающие, как данные моделей будут представлены конечному пользователю. Это может быть html страница, json массив, qr код и т.д.

C. Контроллер
Это сердце приложение. Контроллер определяет как ведёт себя приложение. Какие модели и представления использует. Тут-то чаще всего и городят разработчики полную ересь. Начинают обновлять данные в базе данных, генерируют html сущности, и это только самые безобидные примеры.

Собственно основная мысль архитектуры

Сертификация Bitrix: ответы теста курса "Компоненты 2.0"

Неправильные ответы зачеркнуты вот так.
Вопросы и ответы каждый раз выводятся в разном порядке.

По этому списку тест проходится на 280 ил 310 баллов.

Вопросы:

Ответы под катом

Сертификация Bitrix: ответы теста курса "Интеграция"

Неправильные ответы зачеркнуты вот так.
Вопросы и ответы каждый раз выводятся в разном порядке.

По этому списку тест проходится на 460 ил 470 баллов.

Вопросы:

Ответы под катом

Сертификация Bitrix: ответы теста "Компоненты 2.0" для курса "Контент менеджер"

Сертификация Bitrix: ответы теста "Информационные блоки" для курса "Контент менеджер"