Новости

Устаревшие вещи в CakePHP 1.2

Если поискать в папке app по слову «deprecated» («устаревшие»), то можно найти несколько функций, которые пока работают, но в режиме отладки (где debug > 0) выводится предупреждение о нежелательности их использования. Итак начнем.

Консольная команда

cake acl initdb
была заменена на
cake schema run create DbAcl

В файле basics.php все загрузочные функции заменены на App::import(): loadView(), loadModel(), loadController(), loadHelper(), loadPluginHelper(), loadComponent(), loadPluginComponent(), loadBehavior(), loadModels(), loadPluginModels() и loadControllers().

Функция listClasses() была заменена на Configure::listObjects(), а так же реализации setUri() и setUrl() были перемещены в диспетчер и теперь называются uri() и getUrl() соответственно.

Изменился компонент Cookie. Теперь он должен инициализоваться в beforeFilter(), а функция initialize() больше использоваться не должна.

Реализация cleanUpFields() была перемещена из контроллера в Model::deconstruct().

В моделях не рекомендуется использовать два метода: loadInfo() был заменен на Model::schema() и generateList() на Model::find('list'). Так же теперь в функции validates() и invalidFields() не стоит передавать параметры. Вам необходимо установить свойство $data вручную.

В помощнике Form больше не следует использовать submitImage(), вместо него сейчас можно пользоваться submit().

В помощнике Html теперь нельзя использовать методы, связанные с построением форм: radio(), password(), textarea(), checkbox(), hidden(), input(), tagValue(), validate(), validateErrors() и tagErrorMsg().

В помощнике Javascript параметр $safe для метода codeBlock(), а так же параметры $prefix, $postfix, $stringKeys, $quoteKeys и $q для object() являются устаревшими.

В классе Helper функция setFormTag() была заменена на setEntity().

Свойства $themeElement, $themeLayout и $themePath больше не используются в классе theme.

В классе file многие названия были изменены, поэтому старыми пользоваться не рекомендуется: getFullPath(), getName(), fileName(), getExt(), getMd5(), getSize(), getOwner(), getGroup(), getChmod() и getFolder().

Работу функций chmodr() и mkdirr() из класса folder сейчас выполняют функции chmod() и mkdir() соответственно.

В маршрутизаторе не рекомендуются роуты для вебсервисов "/rest/", "/rss/", "/soap/", "/xml/", and "/xmlrpc/". То же самое можно сказать и о роутах "/bare/" и "/ajax/".

И последнее, но не менее важное. Теперь константы VALID_NOT_EMPTY, VALID_NUMBER, VALID_EMAIL и VALID_YEAR являются устаревшими.

Первоисточник: cakebaker.42dh.com/2008/01/10/deprecated-stuff-in-cakephp-12/