<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
			<channel>
			<title>Первый плагин для разработчиков / Плагины, шаблоны и дополнительные модули / Alto CMS</title>
			<link>http://altocms.ru/comments/374/</link>
			<description><![CDATA[Здравствуйте. В последних своих статьях я затронул темы стиля кодирования и проксирования методов модулей. Темы так и остались открыты, поэтому,]]></description>
			<language>ru</language>
			<managingEditor>noreply@altocms.ru</managingEditor>
			<webMaster>noreply@altocms.ru</webMaster>
			<generator>Alto CMS v.1.5.0b1</generator>
							<item>
					<title>Первый плагин для разработчиков (comment #6105)</title>
					<guid isPermaLink="true">http://altocms.ru/t/374/#comment6105</guid>
					<link>http://altocms.ru/374.html#comment6105</link>
					<author>vshemarov@gmail.com</author>
					<description><![CDATA[Пара вопросов по плагину:<br/>
<br/>
1) Версия PHP 5.4 нужна только для примесей? Или где-то еще используются специфические конструкции/ф-ции 5.4?<br/>
<br/>
2) Не вполне понял относительно валидаторов — сейчас в движке уже есть механизм валидации значений, причем, исходящий корнями тоже из Yii. Предлагается иная реализация? Хотелось бы плюсы/минусы понять]]></description>
					<pubDate>Sun, 27 Oct 2013 17:44:38 +0400</pubDate>
									</item>
							<item>
					<title>Первый плагин для разработчиков (comment #6106)</title>
					<guid isPermaLink="true">http://altocms.ru/t/374/#comment6106</guid>
					<link>http://altocms.ru/374.html#comment6106</link>
					<author>andreyv@gladcode.ru</author>
					<description><![CDATA[1. из php 5.4 используется: примеси, обращение к массиву через [] а не через array, получение результата метода по индексу $foo=bar[0]<br/>
<br/>
2. напишу позже, с телефона не удобно :)]]></description>
					<pubDate>Sun, 27 Oct 2013 17:55:59 +0400</pubDate>
									</item>
							<item>
					<title>Первый плагин для разработчиков (comment #6111)</title>
					<guid isPermaLink="true">http://altocms.ru/t/374/#comment6111</guid>
					<link>http://altocms.ru/374.html#comment6111</link>
					<author>andreyv@gladcode.ru</author>
					<description><![CDATA[Нет, иную реализацию я не предлагаю. Цель плагина не вносить новое, а упростить написание кода используя предложенные в плагине механизмы.<br/>
<br/>
Что касается валидаторов в LS, то у меня к ним неоднозначное отношение: <br/>
1. С одной стороны это качественный механизм проверки, который в частности используется и в сущности User<br/>
2. А с другой стороны 15 классов и 1500+ строк кода, что бы использовать их в 5-и сущностях из более 7 десятков, причем валидация значений с их помощью вообще не используется. В отличие от Yii, использование валидаторов при проверке модели/сущности не является обязательным – отсюда и нежелание разработчиков их использовать – зачем учить/рассматривать код 15 классов и методику их использования, если можно написать свой метод validateMe() и его пользовать – быстрее и проще. Получается, что это архитектурный излишек, без которого можно и обойтись, причем его использование не доставляет очевидных плюсов.<br/>
3. А может, валидаторы LS – это задел на будущее – потом, планируется что-то большое и удобное с их использованием.<br/>
<br/>
Цель, которую я ставил при реализации предложенного набора валидаторов проста, и на самом деле единственна – валидация набора значений для того, что бы сократить объем кода и сделать его читабельней. Я не покушался на механизм модуля Validate и как-то менять его не предлагаю.<br/>
<br/>
Вот пример я взял код из модуля Admin и в нем сделал все проверки через вализаторы. Сразу скажу – пример не рабочий, поскольку не все используемые валидаторы и их модификаторы реализованы.<br/>
<img src="http://altocms.ru/uploads//images//00/02/20/2013/10/28/70a03a.png"/><br/>
<br/>
Плюсы-минусы: в бою валидаторы не обкатывались, поэтому сложно судить. Наверное, примеры будут позже.]]></description>
					<pubDate>Mon, 28 Oct 2013 09:54:46 +0400</pubDate>
									</item>
							<item>
					<title>Первый плагин для разработчиков (comment #6107)</title>
					<guid isPermaLink="true">http://altocms.ru/t/374/#comment6107</guid>
					<link>http://altocms.ru/374.html#comment6107</link>
					<author>vshemarov@gmail.com</author>
					<description><![CDATA[<blockquote>Здесь у меня вопрос к разработчикам – Можно ли, понимая маппер как интерфейс доступа к данным перенести в него логику работы с КЭШем. При этом если в КЭШе будет результат – возвращать его, а если нет – получать от БД???</blockquote>Мне представляется такой подход идеологически неверным. Маппер — это аппарат работы с <strong>источником</strong> данных. А кеш — это некое временное хранилище данных, но никак не их источник. И в общем случае кеш вовсе не обязательно является прослойкой между модулем и маппером. <br/>
<br/>
Если рассказывать о том, как устроен кеш в Альто, то это целую статью надо писать, но если очень кратко, то движок может работать <strong>одновременно</strong> с разными типами кеша, и разработчик может явно включать/выключать кеш и/или задавать используемый тип кеша. И в общем случае возможны алгоритмы (и они уже кое-где используются), когда модуль дергает данные из разных источников и сохраняет в кеше не просто слепок записи (или набора записей), как это было раньше, а уже некий производный (и предварительно обработанный) набор данных.<br/>
<br/>
В общем, мой ответ на вопрос: переносить работу с кешем в маппер не стоит.]]></description>
					<pubDate>Sun, 27 Oct 2013 17:59:08 +0400</pubDate>
									</item>
					</channel>
	</rss>
