<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Форум АлаичЪ'а о SEO - DLE API - быть или не быть?]]></title>
	<link rel="self" href="https://talk.alaev.info/feed/atom/topic/167/" />
	<updated>2013-07-02T12:19:36Z</updated>
	<generator>PunBB</generator>
	<id>https://talk.alaev.info/topic/167/</id>
		<entry>
			<title type="html"><![CDATA[Re: DLE API - быть или не быть?]]></title>
			<link rel="alternate" href="https://talk.alaev.info/post/6063/#p6063" />
			<content type="html"><![CDATA[<p><strong>sngrl</strong>, НИКАК (у меня не сломался капс, именно так и есть, API не развивается уже несколько лет).<br />И ни в коем случаи не используйте в работе этот &quot;утяжелитель модулей&quot;. <br />Когда я создавал эту тему, как раз писал третью версию модуля blockpro и мне показалось логичным использовать dle_api. Оказалось, что казалось. Сам API то не плох, но на практике его использование жестко утяжеляет мскрипт.<br />Простейшие тесты выявили увеличение нагрузки в 4 раза (!!!). т.е. время выполнения модуля было не 0.05 сек при полной нагрузке (писал параллельно две версии, с API и без), а&nbsp; 0.2 сек. И это было на начальном этапе разработки модуля.</p><p>К тому же зарегистрировать нового пользователя средствами dle_api не возможнов принципе, т.к. там ошибка, тянущаяся ещё с версии 8.5 (!).<br />Так что если нужно использовать какие то методы из dle_api - смело выдерайте их и используйте непосредственно в модуле, проверено неоднократно.</p>]]></content>
			<author>
				<name><![CDATA[ПафНутиЙ]]></name>
				<uri>https://talk.alaev.info/user/6/</uri>
			</author>
			<updated>2013-07-02T12:19:36Z</updated>
			<id>https://talk.alaev.info/post/6063/#p6063</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: DLE API - быть или не быть?]]></title>
			<link rel="alternate" href="https://talk.alaev.info/post/6060/#p6060" />
			<content type="html"><![CDATA[<p>Так как обстоят дела с API? есть у кого-нибудь наработки? Самому писать все с нуля не очень хочется..</p>]]></content>
			<author>
				<name><![CDATA[sngrl]]></name>
				<uri>https://talk.alaev.info/user/399/</uri>
			</author>
			<updated>2013-07-02T11:16:35Z</updated>
			<id>https://talk.alaev.info/post/6060/#p6060</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: DLE API - быть или не быть?]]></title>
			<link rel="alternate" href="https://talk.alaev.info/post/1566/#p1566" />
			<content type="html"><![CDATA[<p>API по сути и есть набор методов. У Сани, как он мне говорил, уже есть свой впечатляющий набор, который спокойно можно использовать как API хоть сейчас.<br />Ну в общем-то мы сейчас об одном и том же говорим. Посмотрим, что из этого получится.</p>]]></content>
			<author>
				<name><![CDATA[admin]]></name>
				<uri>https://talk.alaev.info/user/2/</uri>
			</author>
			<updated>2012-10-22T11:30:51Z</updated>
			<id>https://talk.alaev.info/post/1566/#p1566</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: DLE API - быть или не быть?]]></title>
			<link rel="alternate" href="https://talk.alaev.info/post/1563/#p1563" />
			<content type="html"><![CDATA[<p>Мы уже разговаривали по этому поводу) Саша хочет открытым сделать свой API.<br />Но сейчас, занимаясь написанием модуля я больше склоняюсь не к api, а к набору методов, потому что подключать api = утяжелять работу модуля, а если тупо скопипастить&nbsp; нужные методы - будет гораздо удобнее. <br />Я к примеру так и с делал с методом load_table() - ускорив тем самым работу модуля, не сильно, но как говорится - копейка рубль бережет.</p>]]></content>
			<author>
				<name><![CDATA[ПафНутиЙ]]></name>
				<uri>https://talk.alaev.info/user/6/</uri>
			</author>
			<updated>2012-10-22T10:03:03Z</updated>
			<id>https://talk.alaev.info/post/1563/#p1563</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: DLE API - быть или не быть?]]></title>
			<link rel="alternate" href="https://talk.alaev.info/post/1561/#p1561" />
			<content type="html"><![CDATA[<p>Саня, Паша - как на счет запилить свой собственный API? Для закрытого пользования, разумеется, обоим будет полезно, чтобы одну и ту же работу не дублировать. Плюс к этому, используя наработки друг друга, могут быть выявлены более оптимальные алгоритмы и исключены вероятные баги. Круто же!</p>]]></content>
			<author>
				<name><![CDATA[admin]]></name>
				<uri>https://talk.alaev.info/user/2/</uri>
			</author>
			<updated>2012-10-22T09:24:19Z</updated>
			<id>https://talk.alaev.info/post/1561/#p1561</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: DLE API - быть или не быть?]]></title>
			<link rel="alternate" href="https://talk.alaev.info/post/1557/#p1557" />
			<content type="html"><![CDATA[<p>Я вчера избавился dle_api в <a href="https://github.com/pafnuty/Block.Pro.3/blob/master/upload/engine/modules/blockpro/block.pro.3.php">модуле</a> т.к. время выполнения модуля после кеширования в !5-7 раз больше такового без использования api. без кеширования - не критично, но тоже больше + увеличение расхода оперативы.<br />Постараюсь позже оформить статейку с цифрами и замерами, думаю многим будет полезно знать о бесполезности DLE_API в нынешнем виде.</p>]]></content>
			<author>
				<name><![CDATA[ПафНутиЙ]]></name>
				<uri>https://talk.alaev.info/user/6/</uri>
			</author>
			<updated>2012-10-22T08:10:36Z</updated>
			<id>https://talk.alaev.info/post/1557/#p1557</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: DLE API - быть или не быть?]]></title>
			<link rel="alternate" href="https://talk.alaev.info/post/1555/#p1555" />
			<content type="html"><![CDATA[<p>Метод load_table() в данном случае подразумевает, что, делая запрос к базе данных, ты знаешь структуру таблицы. По логике вещей он ни к чему не обязывает, т.к. с его помощью можно сделать запрос к любой таблице с любой структурой, и за изменение структуры он не ответственен.<br />Методы, которые получают саму новость - по-прежнему получают саму новость. Другой вопрос, что в полученном массиве уже будут не все поля <img src="https://talk.alaev.info/img/smilies/smile.png" width="15" height="15" alt="smile" /> Но опять таки, по логике вещей эти методы должны получить модель статьи, соответственно, тоже ни к чему не обязывают <img src="https://talk.alaev.info/img/smilies/smile.png" width="15" height="15" alt="smile" /><br />Но, в итоге, существующий DLE_API - совершенно бесполезная вещь, если его никто не будет развивать.</p>]]></content>
			<author>
				<name><![CDATA[mithrandir]]></name>
				<uri>https://talk.alaev.info/user/3/</uri>
			</author>
			<updated>2012-10-22T07:29:48Z</updated>
			<id>https://talk.alaev.info/post/1555/#p1555</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: DLE API - быть или не быть?]]></title>
			<link rel="alternate" href="https://talk.alaev.info/post/1534/#p1534" />
			<content type="html"><![CDATA[<p>Это понятно, но тут уже придётся делать проверку на версию двига, добавлять переменных для вывода того же кол-ва просмотров.<br />В общем то тот же метод получения новостей теряет смысл как функция api.</p>]]></content>
			<author>
				<name><![CDATA[ПафНутиЙ]]></name>
				<uri>https://talk.alaev.info/user/6/</uri>
			</author>
			<updated>2012-10-21T05:16:01Z</updated>
			<id>https://talk.alaev.info/post/1534/#p1534</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: DLE API - быть или не быть?]]></title>
			<link rel="alternate" href="https://talk.alaev.info/post/1531/#p1531" />
			<content type="html"><![CDATA[<p>JOIN для объединения таблиц</p>]]></content>
			<author>
				<name><![CDATA[nucliar]]></name>
				<uri>https://talk.alaev.info/user/81/</uri>
			</author>
			<updated>2012-10-20T21:33:50Z</updated>
			<id>https://talk.alaev.info/post/1531/#p1531</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: DLE API - быть или не быть?]]></title>
			<link rel="alternate" href="https://talk.alaev.info/post/1529/#p1529" />
			<content type="html"><![CDATA[<p>И всё же опять у меня возникают сомнения по поводу полезности использования DLE_API в процессе написания модуля.</p><p>В новых версиях DLE изменилось местоположение храниения некоторых данных новостей.<br />В итоге через DLE_API нельзя вывести количество просмотров новостей (к примеру) как в 9.5<br />Вот такой код:<br /></p><div class="codebox"><pre><code>$news = $this-&gt;dle_api-&gt;load_table (PREFIX.&quot;_post&quot;, &quot;*&quot;, &#039;approve = 1&#039;, true, 0, 10, &#039;date&#039;, &#039;ASC&#039;); - работает
$news = $this-&gt;dle_api-&gt;load_table (PREFIX.&quot;_post&quot;, &quot;*&quot;, &#039;approve = 1&#039;, true, 0, 10, &#039;news_read&#039;, &#039;ASC&#039;); - ошибка, т.к. нету news_read</code></pre></div><p>Как быть? Ведь если не ошибаюсь API не может сразу в 2 таблицы сделать запрос.</p>]]></content>
			<author>
				<name><![CDATA[ПафНутиЙ]]></name>
				<uri>https://talk.alaev.info/user/6/</uri>
			</author>
			<updated>2012-10-20T19:19:43Z</updated>
			<id>https://talk.alaev.info/post/1529/#p1529</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: DLE API - быть или не быть?]]></title>
			<link rel="alternate" href="https://talk.alaev.info/post/1437/#p1437" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>ПафНутиЙ пишет:</cite><blockquote><p>одни лишь украшения.</p></blockquote></div><p>Именно. Я совсем недавно помогал одному заказчику кое-что поправить в 7 поколении DLE. В базовом php коде вообще мало что изменилось. Хотя технологии шагнули вперед. Так что, нельзя назвать его современным, не смотря ни на какие украшения в виде jquery плагинов))</p>]]></content>
			<author>
				<name><![CDATA[mithrandir]]></name>
				<uri>https://talk.alaev.info/user/3/</uri>
			</author>
			<updated>2012-10-14T20:34:17Z</updated>
			<id>https://talk.alaev.info/post/1437/#p1437</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: DLE API - быть или не быть?]]></title>
			<link rel="alternate" href="https://talk.alaev.info/post/1436/#p1436" />
			<content type="html"><![CDATA[<p>Да, всё же API использовать &quot;оправданнее&quot; именно из за, хотя бы теоретической, поддержки будущих версий))) Жаль что и API давно не развивается, как собственно и сам двиг, одни лишь украшения.</p>]]></content>
			<author>
				<name><![CDATA[ПафНутиЙ]]></name>
				<uri>https://talk.alaev.info/user/6/</uri>
			</author>
			<updated>2012-10-14T20:11:17Z</updated>
			<id>https://talk.alaev.info/post/1436/#p1436</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: DLE API - быть или не быть?]]></title>
			<link rel="alternate" href="https://talk.alaev.info/post/1435/#p1435" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>ПафНутиЙ пишет:</cite><blockquote><p> зачем же тогда подключать?</p></blockquote></div><p>Когда пишешь что-то, что должно быть внедрено в чужой скрипт, прежде всего нужно понять логику этого скрипта и ей следовать, чтобы твой код в него правильно вписался. Если это joomla - используй mvc-паттерн и местный фреймворк. В случае DLE мне показалось весьма логичным использование DLE_API. Особенно вот это - <br /></p><div class="quotebox"><blockquote><p>API предназначен для написания модификаций совместимых со старыми и будущими версиями скрипта. В случае использования API для получения данных из базы, вы можете быть уверенными что данный код будет работать и в будущих версиям, тем самым вы облегчается проверка и адаптация кода при выходе новой версии. Также при использовании API вам нет необходимости писать собственные функции для выборки данных, нет необходимости подключать и объявлять необходимые для работы с БД классы. Достаточно просто подключить файл API, и начать использовать его функции, все остальное он берет на себя.</p></blockquote></div><p>Шикарно звучит, не правда ли? В общем-то, факт использования DLE_API в моих модулях - это дань уважения этому, так убедительно написанному, тексту. В теории этот класс должен обновляться при структурных изменениях движка, а модули продолжали бы работать с тем же исходным кодом. Но, на сколько я вижу, разработчик DLE вообще не особо стремится к изменению структуры и совершенствованию кода. Но если всё же API есть, почему бы его не применить?<br />А вообще, тот API, что можно увидеть у них внутри, гораздо полезне, чем встроенный в движок <img src="https://talk.alaev.info/img/smilies/smile.png" width="15" height="15" alt="smile" /> Как и обещал, когда-нибудь сделаю свой DLE_API <img src="https://talk.alaev.info/img/smilies/smile.png" width="15" height="15" alt="smile" /></p>]]></content>
			<author>
				<name><![CDATA[mithrandir]]></name>
				<uri>https://talk.alaev.info/user/3/</uri>
			</author>
			<updated>2012-10-14T20:05:09Z</updated>
			<id>https://talk.alaev.info/post/1435/#p1435</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[DLE API - быть или не быть?]]></title>
			<link rel="alternate" href="https://talk.alaev.info/post/1423/#p1423" />
			<content type="html"><![CDATA[<p>Вот сижу, пытаюсь начать изучать ООП и применить это дело к DLE.</p><p>Вот допустим мы пишем простенький модуль, выводящий список новостей с разными параметрами, сортировкий и т.п.<br />Зачем подключать DLE API? Только из-за 3х методов (получение, запись кеша и получение новостей).<br />Взять тот же LinkEnso, его же можно было и без dle_api написать, зачем же тогда подключать?<br />Объясните, пожалуйста, несведущему человеку ).</p>]]></content>
			<author>
				<name><![CDATA[ПафНутиЙ]]></name>
				<uri>https://talk.alaev.info/user/6/</uri>
			</author>
			<updated>2012-10-13T20:52:01Z</updated>
			<id>https://talk.alaev.info/post/1423/#p1423</id>
		</entry>
</feed>
