Не на столькоzelenin писал(а):тогда спутником пользуйся)Onotole писал(а):Я патриотzelenin писал(а): ха-ха, луза! яндексом пользуется! (шутка)
Интерактивное руководство создания сайта на Yii2 на русском языке
Re: Интерактивное руководство создания сайта на Yii2 на русском языке
Re: Интерактивное руководство создания сайта на Yii2 на русском языке
@AntonyKor
https://github.com/githubjeka/yii2-tuto ... я-advanced
Там выше было написано :
https://github.com/githubjeka/yii2-tuto ... я-advanced
Там выше было написано :
то скорее всего увидите ошибку Database Exception....
Сейчас наш сайт пытается подключится к базе данных yii2advanced MySQL. Yii не ограничивает вас в выборе базы данных, вы можете легко изменить базу данных, будь то MySQL, MSSQL, PostgreSQL или другие. Для обучения будем использовать SQLite, так как она компактная и не требует накладных расходов. Знать тонкости синтаксиса SQLite не придётся, так как в большинстве случаев вместо SQL будет использоваться ORM подход.
Обратите внимание, что для работы PHP и SQLite потребуется подключение php_pdo_sqlite. Проверьте подключено ли оно у вас.
Re: Интерактивное руководство создания сайта на Yii2 на русском языке
На странице проверки было написаноyiijeka писал(а):Проверьте подключено ли оно у вас.[/b]
Именно это меня и запуталоphp_pdo_sqlite подключено.
Re: Интерактивное руководство создания сайта на Yii2 на русском языке
Ну оно подключено для web, а для php который в консоле запускается имеет другой php.ini . Вот и накладочка вышла :)
Re: Интерактивное руководство создания сайта на Yii2 на русском языке
Теперь не сохраняются данные в таблицу. Точнее все поля, кроме ID пустые:
Решил проверить наличие данных в переменных модели. Для этого добавил их вывод в "setFlash"
Данные выводятся, значит проблема в $model->save. Но все же в чем может быть там проблема?
Решил проверить наличие данных в переменных модели. Для этого добавил их вывод в "setFlash"
Код: Выделить всё
'Спасибо, что уделили время. В ближайшее время будут опубликованы результаты.'.'$model->name='.$model->name.'$model->sex='.$model->sex.'$model->planets='.$model->planets.'$model->astronauts='.$model->astronauts.'$model->planet='.$model->planet
Re: Интерактивное руководство создания сайта на Yii2 на русском языке
Логи запросов к базе:
Re: Интерактивное руководство создания сайта на Yii2 на русском языке
Код модели дайте посмотреть. У нас кофейная гуща закончилась.
Re: Интерактивное руководство создания сайта на Yii2 на русском языке
Код: Выделить всё
<?php
namespace common\models;
use Yii;
/**
* This is the model class for table "interview".
*
* @property integer $id
* @property string $name
* @property boolean $sex
* @property string $planets
* @property string $astronauts
* @property integer $planet
*/
class Interview extends \yii\db\ActiveRecord
{
public $name;
public $sex;
public $planets;
public $astronauts;
public $planet;
public $verifyCode;
public function rules()
{
return [
[['name', 'sex', 'planets', 'astronauts', 'planet', 'verifyCode'], 'required'],
['name', 'string'],
['sex', 'boolean', 'message' => 'Пол выбран не верно.'],
[
['planets', 'planet'],
'in',
'range' => range(0, 7),
'message' => 'Выбран не корректный список планет.',
'allowArray' => 1
],
[
'astronauts',
'in',
'range' => range(0, 5),
'message' => 'Выбран не корректный список космонавтов.',
'allowArray' => 1
],
['verifyCode', 'captcha'],
];
}
public function attributeLabels()
{
return [
'name' => 'Имя',
'sex' => 'Пол',
'planets' => 'Какие планеты обитаемы?',
'astronauts' => 'Какие космонавты известны?',
'planet' => 'На какую планету хотели бы полететь?',
'verifyCode' => 'Проверочный код',
];
}
public function beforeSave($insert)
{
if (parent::beforeSave($insert)) {
$this->planets = implode(',', $this->planets);
$this->astronauts = implode(',', $this->astronauts);
return true;
}
return false;
}
}
- samdark
- Администратор
- Сообщения: 9489
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: Интерактивное руководство создания сайта на Yii2 на русском языке
public поля убейте.
Нравится Yii? Давайте сделаем его лучше!.
- Express777
- Сообщения: 10
- Зарегистрирован: 2016.02.28, 01:27
Re: Интерактивное руководство создания сайта на Yii2 на русском языке
Здравствуйте.
Спасибо большое за туториал.
Возник вопрос. Как вы дебажите встроенный сервер в PHPStorme? А если конкретнее этот туториал.
Просто при пользовании xdebug-om в xampe не вызывает проблем. Но никак не могу настроить на слушание встроенного сервера. Не могли бы вы скинуть свои настройки?
Спасибо большое за туториал.
Возник вопрос. Как вы дебажите встроенный сервер в PHPStorme? А если конкретнее этот туториал.
Просто при пользовании xdebug-om в xampe не вызывает проблем. Но никак не могу настроить на слушание встроенного сервера. Не могли бы вы скинуть свои настройки?
- Express777
- Сообщения: 10
- Зарегистрирован: 2016.02.28, 01:27
Re: Интерактивное руководство создания сайта на Yii2 на русском языке
Не мог понять в чем ошибка. Шаг step-0.3.
При повторном опросе не бросалось исключение. Редактировал сначала в Sublime. Затем перешел на PHPstorm и он сразу показал ошибку.
Правильно будет
То есть не указан неймспейс класса. Из за этого результат проверки всегда была false.
Другая более легкая ошибка.
Тоже не был указан неймспейс. Но здесь уже сам фреймворк подскажет. А на первую ошибку не ругается, из за этого пришлось потратить время на проверку всего остального.
Хм. Странно. Неужели ни у кого еще не возникло этой ошибки?
При повторном опросе не бросалось исключение. Редактировал сначала в Sublime. Затем перешел на PHPstorm и он сразу показал ошибку.
Код: Выделить всё
class AccessOnce extends Behavior
{
public function events()
{
$owner = $this->owner;
if ($owner instanceof Controller) {
return [
$owner::EVENT_BEFORE_ACTION => 'имя_обработчика',
$owner::EVENT_AFTER_ACTION => 'имя_обработчика',
];
}
return parent::events();
}
}
Код: Выделить всё
if ($owner instanceof \yii\web\Controller) {
return [
$owner::EVENT_BEFORE_ACTION => 'checkAccess',
$owner::EVENT_AFTER_ACTION => 'closeDoor',
];
}
Другая более легкая ошибка.
Код: Выделить всё
throw new HttpException(403, $this->message);
// правильно
throw new \yii\web\HttpException(403, $this->message);
Хм. Странно. Неужели ни у кого еще не возникло этой ошибки?
- samdark
- Администратор
- Сообщения: 9489
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: Интерактивное руководство создания сайта на Yii2 на русском языке
Надо будет это руководство как-то хорошо подать на новом yiiframework.ru...
Нравится Yii? Давайте сделаем его лучше!.
- OtezVikentiy
- Сообщения: 25
- Зарегистрирован: 2016.05.27, 15:06
Re: Интерактивное руководство создания сайта на Yii2 на русском языке
Приветствую, вопрос наверное не очень в тему, но никак не могу запустить этот туториал. Запускаю четко как описано в инструкции - пишет:yiijeka писал(а):исправлено - https://github.com/githubjeka/yii2-tutorial/issues/18
Не удается получить доступ к сайту
Сайт localhost не позволяет установить соединение.
Выполните поиск по запросу localhost 8888 scripts в Google
ERR_CONNECTION_REFUSED
Если запускаю на xampp пишет:
Сервер PHP запущен не из той директории. Выполните "php -S localhost:8888" из "yii2-tutorial"
Подскажи, пожалуйста, может что-то не так делаю? А то я в этом новичок, первый раз пробую с github что-то запустить...
Re: Интерактивное руководство создания сайта на Yii2 на русском языке
Всё правильно делаете.
Re: Интерактивное руководство создания сайта на Yii2 на русском языке
// Файл yii2-app-advanced/tests/codeception/frontend/acceptance.suite.yml
modules:
enabled:
- PhpBrowser
- tests\codeception\common\_support\FixtureHelper
config:
PhpBrowser:
url: http://localhost:8080
Проблема в том что нет такого файла. При создании тестов запускается команда "codecept bootstrap" она то их и создает. А такой команды в учебнике нет.
modules:
enabled:
- PhpBrowser
- tests\codeception\common\_support\FixtureHelper
config:
PhpBrowser:
url: http://localhost:8080
Проблема в том что нет такого файла. При создании тестов запускается команда "codecept bootstrap" она то их и создает. А такой команды в учебнике нет.
Re: Интерактивное руководство создания сайта на Yii2 на русском языке
codecept bootstrap не надо запускать, в advanced уже всё создано https://github.com/yiisoft/yii2-app-adv ... n/frontend
и в "учебнике" тоже есть https://github.com/githubjeka/yii2-tuto ... n/frontend . Что то у вас локально не то.
и в "учебнике" тоже есть https://github.com/githubjeka/yii2-tuto ... n/frontend . Что то у вас локально не то.