Как быстро изучить?

Обсуждение документации второй версии фреймворка. Переводы Cookbook и авторские рецепты.
mirosas
Сообщения: 7
Зарегистрирован: 2015.08.18, 12:33

Как быстро изучить?

Сообщение mirosas »

Нужно быстренько изучить Yii2. На гитхабе какую-то документацию смотрю, а вижу фигу. Там же сразу использовали render() - а ни возможностей его ни допустимых параметров и что он может рендерить и как его использовать не указали. Не указали и порядок работы программы понятным образом,- сам понаставил везде принтов, конструкторов, вроде разобрался. В общем жесть. Есть где-нибудь простая и удобная документация? От знакомства до использования. По ПХП самому к счастью с этим все хорошо, а с фреймворком не особо.
Последний раз редактировалось mirosas 2015.08.18, 13:33, всего редактировалось 1 раз.
lynicidn
Сообщения: 2222
Зарегистрирован: 2014.05.24, 15:12

Re: Как быстро изучить?

Сообщение lynicidn »

>По ПХП самому к счастью с этим все хорошо, а с фреймворком не особо.

>В первом же примере используют теги <?= - а что такое не объясняют.

вас где то жестоко обманули
mirosas
Сообщения: 7
Зарегистрирован: 2015.08.18, 12:33

Re: Как быстро изучить?

Сообщение mirosas »

В чем именно обманули? ладно, по <?php echo мне уже объяснили. По Yii2 где достать легко читемую документацию? Вот здесь вижу более-менее нормальная: http://yiiframework.ru/doc/guide/ru/index - но она по Yii1.
Onotole
Сообщения: 1808
Зарегистрирован: 2012.12.24, 12:49

Re: Как быстро изучить?

Сообщение Onotole »

Либо, если уж и с инглишем проблемы, то так
https://github.com/yiisoft/yii2/blob/ma ... /README.md
mirosas
Сообщения: 7
Зарегистрирован: 2015.08.18, 12:33

Re: Как быстро изучить?

Сообщение mirosas »

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

Re: Как быстро изучить?

Сообщение samdark »

Какие вопросы возникают по ходу чтения? В каких именно местах?
mirosas
Сообщения: 7
Зарегистрирован: 2015.08.18, 12:33

Re: Как быстро изучить?

Сообщение mirosas »

Сперва было все непонятно, теперь появились вопросы:

1. В примере по работе с формами из официальной документации: https://github.com/yiisoft/yii2/blob/ma ... t-forms.md
Представление напрямую обращается к внутреннему свойству модели на запись, вот так: <?= $form->field($model, 'name') ?>
- как это вообще согласуется с концепцией инкапсуляции и MVC в частности? Зачем Yii-верстальщику редактирующему представления лезть напрямую во внутренние свойства модели?? Это мне повезло наткнуться на недоработку, или это весь Yii такой?
- как сделать то же самое, но вместо name напечатать 'Имя', а вместо обращения к внутреннему свойству модели, обратиться к её методу?
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Как быстро изучить?

Сообщение samdark »

Почему «на запись»? Это вроде короткая форма для echo...

Если хочется не дать кому-либо (бывают Yii-верстальщики?!) технически лезть в модели или ещё что-то, используйте шаблонизаторы. PHP ограничить доступ к чему-либо в view не может.

http://www.yiiframework.com/doc-2.0/gui ... rties.html
mirosas
Сообщения: 7
Зарегистрирован: 2015.08.18, 12:33

Re: Как быстро изучить?

Сообщение mirosas »

$form->field($model, 'name') - не только выводит 'Name' на экран, но так же создает <input name=ViewName[name]>
После чего в контроллере $model->load(Yii::$app->request->post()) пихает $_POST['ViewName[name]'] в $model->name

С шаблонизатрами не выйдет, потому как запись идет в $model->$fieldshown при этом $fieldshown - это то, как поле отображается в окошке браузера, тоесть может меняться.
Последний раз редактировалось mirosas 2015.08.19, 11:08, всего редактировалось 1 раз.
Аватара пользователя
VeerUP
Сообщения: 17
Зарегистрирован: 2013.10.25, 10:35

Re: Как быстро изучить?

Сообщение VeerUP »

$form->field($model, 'name') - не только выводит поле 'Name', но так же и пишет в $model->name; как он это делает (пишет) я так и не понял.
Уважаемый, читайте документацию (в т.ч. по PHP), там все понятным языком написано, если хотите более подробную информацию по классам и их методам, вот вам Class reference. Волшебного способа как быстро изучать фреймворк нету.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Как быстро изучить?

Сообщение samdark »

Создание разметки (<input name=ViewName[name]>) на основе данных — это и есть задача view. Пихать данные из реквеста в модели — задача контроллера. Не вижу тут никаких противоречий.
mirosas
Сообщения: 7
Зарегистрирован: 2015.08.18, 12:33

Re: Как быстро изучить?

Сообщение mirosas »

<p>Name: <input name=ViewName[name]></p>

- дело в том, что "Name:" выводится на экран пользователю, и если хочется его заменить на "Имя", то строка изменится на такую:
<p>Имя: <input name=ViewName[имя]></p>

при этом "имя" должно существовать в модели. Иначе во первых не построится форма (вылетит с ошибкой), во вторых не будет принята.

Противоречие в том, что для того чтобы поменять отображение на экране пользователя названия поля, нужно поменять название переменной в модели.


Например на странице https://vk.com/ есть форма с полями "Телефон или email" и "Пароль". Согласно примеру из официальной документации по работе Yii c формами в Модели должны быть переменные "$телефон или email" и переменная "$пароль". Если верстальщик пожелает поменять слово "Телефон или email" на "Мыло или сотовый" потребуется изменить модель.
Последний раз редактировалось mirosas 2015.08.19, 12:34, всего редактировалось 1 раз.
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Как быстро изучить?

Сообщение ElisDN »

Для этого есть метод attributeLabels() внутри модели.

А если хотите только здесь изменить, то:

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

<?= $form->field($model, 'name')->label('Имя') ?>
mirosas
Сообщения: 7
Зарегистрирован: 2015.08.18, 12:33

Re: Как быстро изучить?

Сообщение mirosas »

ElisDN писал(а):Для этого есть метод attributeLabels() внутри модели.

А если хотите только здесь изменить, то:

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

<?= $form->field($model, 'name')->label('Имя') ?>
Большое спасибо! ))

+ какие-то магические get, set и вроде как надо работает.

А еще дайте кто-нибудь ссылку на нормальную документацию по Yii2, где в примерах сразу так и показано, а не на официальную, где непойми что. Не хотелось бы так каждый вопрос на форуме спрашивать.
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Как быстро изучить?

Сообщение ElisDN »

mirosas писал(а):А еще дайте кто-нибудь ссылку на нормальную документацию по Yii2, где в примерах сразу так и показано, а не на официальную, где непойми что.
Подтяните пока программирование, поизучайте фреймворк пару лет. Тогда и напишете для нас всех нормальную документацию.
polumerk
Сообщения: 80
Зарегистрирован: 2015.07.09, 16:04

Re: Как быстро изучить?

Сообщение polumerk »

mirosas писал(а):
ElisDN писал(а):Для этого есть метод attributeLabels() внутри модели.

А если хотите только здесь изменить, то:

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

<?= $form->field($model, 'name')->label('Имя') ?>
Большое спасибо! ))

+ какие-то магические get, set и вроде как надо работает.

А еще дайте кто-нибудь ссылку на нормальную документацию по Yii2, где в примерах сразу так и показано, а не на официальную, где непойми что. Не хотелось бы так каждый вопрос на форуме спрашивать.
К сожалению на вторую версию нету такой( На первую была. Понимаю вас, сам сталкиваюсь с тем что документация не совсем понятна даже на англ, приходится на форумах искать и вычитывать или искать примеры на гитхабе у кого-нибудь в коде.
Menshakov
Сообщения: 2
Зарегистрирован: 2015.12.09, 12:05

Re: Как быстро изучить?

Сообщение Menshakov »

Это мое первое сообщение на форуме. С Yii2 знаком 3 дня максимум.

И как-то проблем с документацией (особенно на уровне вопросов из поста ТС) вообще не вижу, все очень доступно, понятно расписано. Отлично прокомментировано все в классах. IDE + ООП + понимание базовых паттернов или желание в них разобраться более, чем достаточно для старта с Yii2. ИМХО.
Аватара пользователя
Akulenok
Сообщения: 437
Зарегистрирован: 2014.05.05, 18:32
Откуда: localhost

Re: Как быстро изучить?

Сообщение Akulenok »

Мне лично не хватает в документации example, если есть, то скудные.
Я про это например http://www.yiiframework.com/doc-2.0/yii ... dview.html
а вот как на php.net http://php.net/manual/en/function.str-replace.php именно User Contributed Notes
==================
выручают такие добрые люди http://nix-tips.ru/yii2-razbiraemsya-s-gridview.html
ភាសាខ្មែរ Yii2 - это кайф!
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Как быстро изучить?

Сообщение zelenin »

Akulenok писал(а):Мне лично не хватает в документации example, если есть, то скудные.
Я про это например http://www.yiiframework.com/doc-2.0/yii ... dview.html
а вот как на php.net http://php.net/manual/en/function.str-replace.php именно User Contributed Notes
==================
выручают такие добрые люди http://nix-tips.ru/yii2-razbiraemsya-s-gridview.html
чувак, за то время, пока ты здесь пишешь базовые вопросы, можно было изучить фреймворк полностью. из этого делаем вывод, что у тебя нет способностей к этому - просто констатирую.
Ответить