Качество документации.

Обсуждение документации. Переводы Cookbook и авторские рецепты.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Качество документации.

Сообщение samdark »

Aver, всё верно. В Yii ещё очень человечный накладной расход, особенно учитывая его функционал. В том же Zend Framework при использовании MVC бывает до 20 раз медленней, чем просто php.
Аватара пользователя
alexzv
Сообщения: 120
Зарегистрирован: 2010.04.23, 00:10
Откуда: Украина, Киев

Re: Качество документации.

Сообщение alexzv »

По поводу качества документации - я тоже недавно начал изучать фреймворк, до этого писал на чистом PHP... Действительно трудно вникнуть во все нюансы и к примеру чтобы разобраться в работе с БД, нужно перечитать десяток статей, чтобы в голове все уложилось. Не плохо было бы нормально описать саму работу фреймворка, так как ее видите Вы - к примеру, что и в какой последовательности выполняется, описать нюансы и личные впечатления... Но это все так, главная же беда - это API. Дело даже не в том, что он на английском (там в принципе все равно текста мало и вполне можно понять), вся проблема в отсутствии примеров! К примеру, вот недавно надо было разместить на сайте обычные элементы radio button - вот и как тут сразу догадаться, что это CHtml::listBox? Вечно возникают вопросы, какие параметры можно передавать в $htmlOptions... А с CHtml::listData например так до конца и не понял, что оно такое, а достаточно же просто взглянуть на пример и все станет понятно...

Так что есть предложение поддерживать нашу ветку API силами нашего не большого сообщества (понятно что пару человек такой объем не осилят... опять же надо актуальность поддерживать...). Вот например можно в такой виде как на http://htmlbook.ru , очень мне нравится такая структура. Можно там где браузеры указывать версии фреймворка и в каких этот элемент поддерживается, дальше подробное описание, описание всех параметров и примеры!
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Качество документации.

Сообщение samdark »

Принимаю примеры 24 часа в сутки. [email protected]
webzio
Сообщения: 2
Зарегистрирован: 2010.07.07, 22:16

Re: Качество документации.

Сообщение webzio »

Согласен с тем, что документация написана сложно. А перевели хорошо, молодцы. Так или иначе я документацию читать перестал и взялся код просматривать, с чего пользы больше и ясно +- все.

Мое ИМХО гласит, что документация должна быть проста, как для чайников. Это новых юзеров привлекает и камунити растет.

Еще парочка мыслей с примерами:

1. Когда я первый раз столкнулся с ЙИИ то кинул это дело после того, как не заработало % /wwwroot/yii/framework/yiic webapp /wwwroot/blog
Не было мотивации гуглить почему не рабoтает. Только на русскоязычном сайте заметил подсказку о установке переменных к PHP и пару других полезностей, что дало толчек заинтересоваться фреймворком серьезнее и убедиться что "это TO".

2. Долгое время висит урок создания блога, но работа с ним прекращается ( или требует посиска ответов в гугле и на форум ) при создании портлетов. Некоторые функции не описаны, а потому получаем ошибки в связи с отсутствием указанных переменных. Выводы: если простейший блог создает проблемы, что будет дальше? Чайники отпадают, более продвинутые настораживаются.

3. Беру первый попавшийся по руку текст: "Модель представляет собой отдельный объект данных. Это может быть запись таблицы базы данных или форма пользовательского ввода. Каждое поле объекта данных представляется атрибутом модели. Каждый атрибут имеет метку и может быть проверен на корректность, используя набор правил."
Переварил этот текст читая 10 раз ( метка, атрибут, польз. ввод... ). Это не проблема перевода. Повторю, что перевод отличный.
Посмотрим, как тот же вопрос описывает кокуренция: "Классы моделей хранятся в папке application/models/. Они могут располагаться в подпапках, если вы хотите такой организации. Вот основной прототип класса модели:... ( Тут подан пример/код ) ... Где Model_name это имя вашего класса. ( Разжевано за нас, остается только съесть )... Ваши модели обычно загружаются и вызываются из контроллера. Для загрузки моделей вы должны использовать следующую функцию...Если ваша модель находится в под-папке, то укажите относительный путь до нее...
"
Выводы: я не вижу другого выхода, как только переделать документацию с нуля. Аргумент, что все меняется не убеждает. Модель остается моделью, контролер - контролером, меняются детали, а основы - те же.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Качество документации.

Сообщение samdark »

1. Думаю, стоит дать в соответствующих местах ссылки на настройки консоли PHP.
2. Урок создания блога никогда не был пошаговым руководством. Выхода тут два — сделать его таковым, либо написать, что он не пошаговое руководство.
3. Который из конкурентов? В этом плане проблема несомненно имеется. Сама документация вроде полная, но язык немного сложный для новичков. Переписывать с нуля, думаю, не стоит, а вот перефразировать некоторые части, переименовать некоторые термины — да. Если кто-нибудь поможет мне в этом — будет замечательно.
webzio
Сообщения: 2
Зарегистрирован: 2010.07.07, 22:16

Re: Качество документации.

Сообщение webzio »

Ну вот пример http://yiiframework.ru/doc/guide/ru/form.overview

Здесь все можно вообще выкинуть. Особенно вступление. Не потому, что там неправда, а потому, что ничего не дает эта инфо. А бы просто написал, что в ЙИИ есть удобная валидация форм + некоторые удобые штучки и все, остальное потом по пунктам. Текста меньше но инфо вкуснее.

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

Первым делом полезно определить, для кого предназначена документация, и это поможет установить уровень сложности. Минимум - знание PHP и основы OOP + опыт.
Тогда ясно, что не надо объяснять, что есть что-то такое как форма, что ее должны проверить и данные обработать/отобразить.

Пишем, что дает нам фреймворк, как работает валидация, есть ли встроенный аякс/яваскрипт, автоматическое построение полей формы и довабляем, что это круто, так как мудаться уже не надо.
flam
Сообщения: 129
Зарегистрирован: 2011.04.10, 11:23

Re: Качество документации.

Сообщение flam »

Наткнулся на пару исчерпывающих статей, в которых у автора (на мой взгляд) идеально получается рассказывать и пояснять со всеми нюансами и акцентированием внимания на нужных вещах!
Вот такой хочу видеть если не документацию, то хотя бы описание некоторых особенностей фреймворка (рассказывается не только как сделано, а почему именно так, в каких случаях и как это можно применять и т.д.)
Вот пример про публикацию и регистрацию ресурсов - если бы эта статья существовала раньше, я в свое время мог бы сэкономить кучу времени :lol:


пс: Жаль что статей пока мало.
не сочтите за рекламу (к автору отношения не имею но респект ему выражаю) )
Gordon
Сообщения: 8
Зарегистрирован: 2012.02.29, 10:43
Контактная информация:

Re: Качество документации.

Сообщение Gordon »

Напишу сюда.

В официальной документации на класс CCheckBoxColumn, описание свойства selectableRows нет отрицательного значения свойства,
однако, при указании selectableRows=-1 или другого отрицательного в шапке колонки будет её название,
а не общий флаг на все строчки как при selectableRows=2.

И при этом можно выбрать два или более флажка, как при selectableRows=2
Что мне собственно и нужно.

Это недокументированная возможность или баг?
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Качество документации.

Сообщение samdark »

Не могу точно сказать. Реализацию писал Maurizio Domba, можно закинуть на github аля «Update CCheckBoxColumn.selectableRows phpdoc».
Аватара пользователя
BrusSENS
Сообщения: 565
Зарегистрирован: 2012.07.26, 06:51
Откуда: Новороссийск
Контактная информация:

Re: Качество документации.

Сообщение BrusSENS »

Sam Dark, у меня не замечание, а просто есть небольшие пожелания :) А если точнее, то жаль, что все примеры идут в основном на AR, а вот что касается DAO, то тут почему то забывают про нас, хардкорщиков :(
Хотелось по больше примеров работы с DAO, например тот же http://yiiframework.ru/doc/cookbook/ru/access.rbac.file. Вот бьюсь я с правами, а ничего не получается с DAO :(
P.S.: Я так понимаю, что разработчики ядра всегда хотят похвастать высоко нагруженными проектами своего сообщества, но вот AR по моему в этом как раз мешает :(
Извиняюсь заранее, если что не так преподнёс :) С уважением, BrusSENS :)
Native Web - небольшой блог о веб разработке (временно на ремонте)
Режим обслуживания сайта для Yii 2.x.x
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Качество документации.

Сообщение samdark »

Так а при чём тут DAO? Там вообще пример с файлами без DAO или AR. И, кстати, CDbAuthManager из коробки работает с DAO ;)

Если есть вопросы на тему DAO — давайте списком по пунктам в общий раздел, ответим и можете скомпилировать в рецепт: https://github.com/samdark/yiiframework_ru_cookbook
Аватара пользователя
BrusSENS
Сообщения: 565
Зарегистрирован: 2012.07.26, 06:51
Откуда: Новороссийск
Контактная информация:

Re: Качество документации.

Сообщение BrusSENS »

Я имел ввиду, что в классе WebUser используется получение роли из БД :)

Код: Выделить всё

class WebUser extends CWebUser {
    private $_model = null;
 
    function getRole() {
        if($user = $this->getModel()){
            // в таблице User есть поле role
            return $user->role;
        }
    }
 
    private function getModel(){
        if (!$this->isGuest && $this->_model === null){
            $this->_model = User::model()->findByPk($this->id, array('select' => 'role'));
        }
        return $this->_model;
    }
}
Так вот я впринципе сделал то на DAO

Код: Выделить всё

private function getModel(){
        if (!$this->isGuest && $this->_model === null){
            $user = new User;
            $this->_model = $user->findRoleById(Yii::app()->user->id);
        }
        return $this->_model;
    }
Но неприятная вещь в том, что пришлось сохранять роль в сессии, при авторизации :)
Собственно интересно, как cделать описание ролей в БД, хотя читал на офф сайте про это, мало чего расжёвано :(
Вообщем я в общих вопросах по мере написания проекта буду задавать вопросы по той или иной теме, которая касается DAO :)
P.S.: насчёт недовольства топикстартера могу сказать то, что всё это бред, насчёт плохой и сложной документации, ИМХО :)
Я блог сделал по примеру за полчаса, когда начал учить Yii :)
Если бы не вы, Александр, то наверное сидели бы сейчас, как динозавры на своих изобретениях двухколёсных :)
Так что огромное спасибо вам, Александр, что убиваете своё личное время на фреймворк, а тем более на нас :)
Native Web - небольшой блог о веб разработке (временно на ремонте)
Режим обслуживания сайта для Yii 2.x.x
Аватара пользователя
BrusSENS
Сообщения: 565
Зарегистрирован: 2012.07.26, 06:51
Откуда: Новороссийск
Контактная информация:

Re: Качество документации.

Сообщение BrusSENS »

Александр, я не знаю, насколько это важно, но мне кажется стоит добавить в раздел http://yiiframework.ru/doc/guide/ru/topics.performance заметку о том, что можно уменьшить примерно на 500 - 1000 кб расход памяти, если удалить комментарии из классов фреймворка :) Может кому и поможет при оптимизации :) У меня например почти на мб снизился расход памяти :)
Native Web - небольшой блог о веб разработке (временно на ремонте)
Режим обслуживания сайта для Yii 2.x.x
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Качество документации.

Сообщение samdark »

Это как раз yiilite.php получается. Там комментариев нет.
Аватара пользователя
BrusSENS
Сообщения: 565
Зарегистрирован: 2012.07.26, 06:51
Откуда: Новороссийск
Контактная информация:

Re: Качество документации.

Сообщение BrusSENS »

Sam Dark писал(а):Это как раз yiilite.php получается. Там комментариев нет.
Хм, странно, у меня при использовании YiiLite почему то никакого уменьшения нагрузки не появилось :( А когда поудалял все комментарии, то потребление уменьшилось :)
Native Web - небольшой блог о веб разработке (временно на ремонте)
Режим обслуживания сайта для Yii 2.x.x
alexyarik
Сообщения: 140
Зарегистрирован: 2012.09.06, 15:07

Re: Качество документации.

Сообщение alexyarik »

Согласен с автором темы. Для базового старта очень мало примеров и пояснений.
Такое ощущение, что тем кто выучился просто лень внести свою лепту в развитии руководства по фреймворку.
Уже второй месяц изучаю, читаю документацию на английском, вникаю в код демо блога, но пока нет ясной картины.
Трудно понять принцип работы фреймворка начинающему.
Руководство написано так мол лишь бы отвязались.
Аватара пользователя
lancecoder
Сообщения: 2532
Зарегистрирован: 2012.06.26, 17:16

Re: Качество документации.

Сообщение lancecoder »

как научитесь читать чужой код - переходите к фреймворку
alexyarik
Сообщения: 140
Зарегистрирован: 2012.09.06, 15:07

Re: Качество документации.

Сообщение alexyarik »

Я пока что изучаю фреймворк на базе конкретного примера (демо блога), если кто-то помогает,ссылку полезную дает - изучаю ее.
А так если честно и без язвителей на форуме можно было бы обойтись.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Качество документации.

Сообщение samdark »

alexyarik, как научитесь, кидайте на github реквесты по документации. Примем с радостью. У нас-то глаз замылен, тяжело понять, что очевидно, а что нет.
alexyarik
Сообщения: 140
Зарегистрирован: 2012.09.06, 15:07

Re: Качество документации.

Сообщение alexyarik »

Обязательно. Конечно у меня это займет больше времени. Я собираю информацию, пишу ее, копирую, а потом хочу сделать когда разберусь, пособие для начинающих с точки зрения начинающего.
Единственное, что не помешало бы это создать тему где те участники форума которые не против помогать, рассписали бы по никам, кто в каких сферах в фреймворке силен и по аким вопросам можно обращаться.
А то язвителей на форуме больше чем желающих помочь.
Ответить