- •Оглавление
- •I. Инструментарий
- •II. Шаблоны проектирования
- •1. Простой
- •2. Шаблонная функция
- •3. Метод буферизации
- •III. Фрэймворк Kohana
- •1. Знакомство с Kohana
- •2. Роутинг
- •7. Взаимодействие модели, контроллера и шаблона
- •8. Создание новых классов и подключение сторонних библиотек
- •9. Конфигурирование
- •10. Языковые файлы
- •11. Системные сообщения
- •12. Хелперы
- •Мы можем использовать любые строковые функции php, добавляя к ним класс utf8
- •13. Этапы создания проекта
- •14. Виджеты
- •Сложные запросы
- •17. Модуль orm
- •Т.Е. Если мы вторым параметромне указываем идендификатор, мы добавляем запись, если указываем – мы обновляем строку с указанным идентификатором.
- •Но если мы попытаемся удалить запись, которой не существует, то увидим сообщение об ошибке. Чтобы избавиться от этой ошибки, есть специальный метод, который проверяет, возвращает ли запрос результат.
- •Если метод возвращает true, то происходит удаление записи.
- •Если таблица userimage связана стаблице user связью belongs_to, то таблица user связана с таблицей userimage связью has_many.
- •19. Использование orm в виджетах
- •20. Модуль Auth
- •21. Модуль Image
- •22. Совместное использование модуля Image и js-скриптов, об-рабатывающих изображения.
- •Далее в контроллер добавим функцию для работы с изображениями.
- •В контроллере произведем вставку изображений в папку и запись в таблицу.
- •Чтобы вывести постраничную навигацию, например, на страницу пользователей, нам сперва нужно узнать общее количество пользователей, которое впоследствии нужно передать в параметр total_items.
- •А вот и сам экшн:
- •Как видно из листинга в шаблон мы передали переменную pagination, в которой будет находиться шаблон вывода ссылок на страницы. Осталось только вывести данную переменную в шаблоне.
- •Если в роуте используются параметры controller, action, directory либо id, то их необходимо передавать в класс pagination в метод route_params().
- •24. Операции crud. Разработка системы администрирования.
- •25. Модуль кэширования
- •В kohana также имеется отдельный модуль cache. Для его подключения необходимо раскомментировать нужную строку в файле bootstrap.Php
- •После подключения модуля необходимо скопировать из папки с модулем конфигурационный файл и переместить его в папку config/ в конфигурационном файле cache.Php имеется несколько групп настроек.
- •Каждая группа настроек работает со своим драйвером для кэширования. В зависимости от выбранного типа настроек, закэшированные файлы будут храниться либо в памяти компьютера, либо в других файлах.
- •28. Многоуровневые комментарии. Алгоритм NestedSets. Модуль orm-mptt
- •29. Модальное окно на ajax
- •30. Парсинг
- •31. Отладка
- •32. Профилирование
- •33. Документация kohana, модуль Userguide
- •34. Модуль Codebench
- •36. Другие модули Kohana
- •37. Состояние проекта
- •38. Дополнительное конфигурирование
- •39. Уязвимость Kohana
- •Установка yii
- •2. Структура yii
- •3. Конфигурирование yii, файл config/main.Php
- •4. Маршрутизация
- •7.Подключение шаблонов
- •8. Полезное.
- •9. Модель. Работа с базой данных.
- •11. Валидация
- •1. Определение класса модели
- •2. Определение правил проверки
- •4. Стандартные правила валидации
- •12. Конструктор форм
- •13. Хелперы форм
- •14. Обработка изображений
- •15. Постраничная навигация и cActiveDataProvider
- •16. Виджеты
- •17. Создание виджета круговой диограммы
- •18. Виджет cMenu
- •19. Хлебные крошки. Виджет cBreadcrumbs
- •20. Виджет cDetailView
- •21. Виджет chml, хелперы html
- •22. Виджет cListView
- •23. Виджет cGridView, таблица администратора
- •25. Модули
- •26. Авторизация
- •27. Контроль доступа на основе ролей
- •V. Краткий обзор и сравнение фрэймворков yii и Kohana
- •VI. Система контроля версий
- •Синхронизация локальных файлов с репозиторием
- •Открытие проекта Mercurial в среде ide
- •Получение файлов из репозитория
- •Импорт файлов в репозиторий
- •Изменение файлов исходного кода
- •Просмотр изменений в редакторе исходного кода
- •Просмотр информации о состоянии файла
- •Метки и условные цвета
- •Ярлыки состояния файлов
- •Окно контроля версий
- •Сравнение редакций файлов
- •Внесение изменений в локальную рабочую копию
- •Переходы между различиями в сравниваемых файлах
- •Изменение критериев просмотра
- •Слияние редакций файлов
- •Фиксация исходных файлов в репозитории
- •Обновление локальных копий
- •Выполнение фиксации
- •Обновление проблем
- •Выгрузка локальных изменений в общий репозиторий
- •Клонирование репозитория Git из GitHub с использованием протокола ssh
- •VI. Обзор рынка
- •VII. Программа курса php для продвинутых
- •Обзор рынка.
- •Php для продвинутых
4. Стандартные правила валидации
boolean: CBooleanValidator, проверят, что значение переменной равняется trueValue или falseValue.
allowEmpty, может ли значение равняться null или быть пустым.
falseValue, значение falseValue.
strict, является ли сравнение строгим: должны совпадать не только значения, но и их тип.
trueValue, значение trueValue.
captcha: CCaptchaValidator, проверяет, что значение поля модели соответствует проверочному коду CAPTCHA.
allowEmpty, может ли значение равняться null или быть пустым.
captchaAction, ID действия, показывающего изображение CAPTCHA.
caseSensitive, использовать ли регистрозависимую проверку.
compare: CCompareValidator, сравнивает значение указанного поля модели с значением другого поля и проверяет, равны ли они.
allowEmpty, может ли значение равняться null или быть пустым.
compareAttribute, имя атрибута, с которым будет производится сравнение.
compareValue, постоянное значение, с которым будет производиться сравнение.
operator, оператор, используемый при сравнении.
strict, является ли сравнение строгим: должны совпадать не только значения, но и их тип.
default: CDefaultValueValidator, инициализирует атрибуты указанным значением. Валидацию при этом не выполняет. Нужен для указания значений по умолчанию.
setOnEmpty, устанавливать значение по умолчанию только если значение равно null или пустой строке.
value, значение по умолчанию.
email: CEmailValidator, проверяет, что значение является адресом email.
allowEmpty, может ли значение равняться null или быть пустым.
allowName, разрешать ли включать имя в адрес email.
checkMX, проверять ли запись MX.
checkPort, проверять ли 25-й порт.
fullPattern, регулярное выражение, используемое для проверки адреса с именем.
pattern, регулярное выражение, используемое для проверки адреса без имени.
validateIDN, проверять ли адрес с IDN (internationalized domain names, интернационализованные доменные имена). По умолчанию адрес содержащий IDN всегда будет неверным (значение false). Появилось в версии 1.1.13.
date: CDateValidator, проверяет, что значение является датой, временем или и тем и другим вместе.
allowEmpty, может ли значение равняться null или быть пустым.
format, формат значения. Может быть массивом или строкой. По умолчанию равняется 'MM/dd/yyyy'. Остальные форматы описаны в API CDateTimeParser.
timestampAttribute, имя атрибута, в который будет записан результат разбора даты. По умолчанию равен null.
exist: CExistValidator, проверяет, есть ли значение атрибута в определённой таблице.
allowEmpty, может ли значение равняться null или быть пустым.
attributeName, имя атрибута класса ActiveRecord, используемое для проверки значения.
className, имя класса ActiveRecord, используемого для проверки.
criteria, дополнительный критерий запроса.
file: CFileValidator, проверяет, был ли загружен файл.
allowEmpty, можно ли не загружать файл и оставить поле пустым.
maxFiles, максимальное количество файлов.
maxSize, максимальный размер в байтах.
minSize, минимальный размер в байтах.
tooLarge, сообщение об ошибке, выдаваемое если файл слишком большой.
tooMany, сообщение, выдаваемое если загружено слишком много файлов.
tooSmall, сообщение, выдаваемое если загруженный файл слишком мал.
types, список расширений файлов, которые позволено загружать.
wrongType, сообщение, выдаваемое если данный тип файла загружать нельзя.
mimeTypes, список MIME-типов файлов, которые позволено загружать. Можно использовать при условии, что установлено PECL-расширение fileinfo. Появилось в версии 1.1.11.
wrongMimeType, сообщение, выдаваемое если данный тип файла загружать нельзя. Можно использовать при условии, что установлено PECL-расширение fileinfo. Появилось в версии 1.1.11.
filter: CFilterValidator, применяет к данным фильтр.
filter, метод-фильтр.
in: CRangeValidator, проверяет, входит ли значение в заданный интервал или список значений.
allowEmpty, может ли значение равняться null или быть пустым.
range, список допустимых значений или допустимый интервал.
strict, является ли сравнение строгим: должны совпадать не только значения, но и их тип.
not, позволяет проверить исключение из интервала вместо вхождения в него.
length: CStringValidator, проверяет, что количество введённых символов соответствует некоторому значению.
allowEmpty, может ли значение равняться null или быть пустым.
encoding, кодировка проверяемой строки.
is, точное количество символов.
max, максимальное количество символов.
min, минимальное количество символов.
tooShort, сообщение об ошибке, выдаваемое если количество символов слишком мало.
tooLong, сообщение об ошибке, выдаваемое если количество символов слишком велико.
numerical: CNumberValidator, проверяет, что значение является числом в определённом интервале.
allowEmpty, может ли значение равняться null или быть пустым.
integerOnly, только целые числа.
max, максимальное значение.
min, минимальное значение.
tooBig, сообщение об ошибке, выдаваемое если значение слишком велико.
tooSmall, сообщение об ошибке, выдаваемое если значение слишком мало.
integerPattern, регулярное выражение, используемое для валидации целых чисел. Используется тогда, когда integerOnly равно true. Появилось в версии 1.1.7.
numberPattern, регулярное выражение, используемое для валидации чисел с плавающей точкой. Используется тогда, когда integerOnly равно false. Появилось в версии 1.1.7.
match: CRegularExpressionValidator, проверяет, совпадает ли значение с регулярным выражением.
allowEmpty, может ли значение равняться null или быть пустым.
pattern, регулярное выражение.
not, инвертировать ли логику валидации. Если значение равно true, то проверяемое значение не должно совпадать с регулярным выражением. Значение по умолчанию: false. Появилось в версии 1.1.5.
required: CRequiredValidator, проверяет, что значение не равно null и не является пустым.
requiredValue, значение, которое должен иметь атрибут.
strict, является ли сравнение строгим: должны совпадать не только значения, но и их тип.
safe: CSafeValidator, помечает атрибут безопасным для массового присваивания.
type: CTypeValidator, сверяет тип атрибута с указанным (integer, float, string, date, time, datetime). Для валидации дат с версии 1.1.7 лучше использовать CDateValidator.
allowEmpty, может ли значение равняться null или быть пустым.
dateFormat, формат для валидации дат.
datetimeFormat, формат для валидации даты и времени.
timeFormat, формат для валидации времени.
type, тип данных.
unique: CUniqueValidator, проверяет значение на уникальность.
allowEmpty, может ли значение равняться null или быть пустым.
attributeName, имя атрибута класса ActiveRecord, используемое для проверки значения.
caseSensitive, является ли сравнение регистронезависимым.
className, имя класса ActiveRecord, используемого для проверки.
criteria, дополнительный критерий запроса.
unsafe: CUnsafeValidator, помечает атрибут небезопасным для массового присваивания.
url: CUrlValidator, проверяет, что значения является верным URL http или https.
allowEmpty, может ли значение равняться null или быть пустым.
pattern, регулярное выражение, используемое при валидации.
validSchemes, массив с названиями допустимых схем. Схемы, допустимые по умолчанию: http и https. Появилось в версии 1.1.7.
validateIDN, проверять ли URL с IDN (internationalized domain names, интернационализованные доменные имена). По умолчанию URL содержащий IDN всегда будет неверным (значение false). Появилось в версии 1.1.13.
