Пытаюсь следовать мануалу с GitHub

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Hunger Cannibal
Сообщения: 7
Зарегистрирован: 2014.12.20, 11:21

Пытаюсь следовать мануалу с GitHub

Сообщение Hunger Cannibal »

Добрый день. Пытаюсь освоить PHP на примере Yii 2, ну и надеюсь в нём разобраться. Делаю всё по разделу "Работа с базами данных" с https://github.com/yiisoft/yii2/blob/ma ... tabases.md. При проверке всего этого дела выдаёт
"syntax error, unexpected '$countries' (T_VARIABLE), expecting function (T_FUNCTION)".
Подскажите пожалуйста - в каком направлении копать?
Alex8552
Сообщения: 36
Зарегистрирован: 2014.10.07, 15:13

Re: Пытаюсь следовать мануалу с GitHub

Сообщение Alex8552 »

Черным по белому.Ожидается функция. Вы суете переменную $countries.
Код в студию.
Hunger Cannibal
Сообщения: 7
Зарегистрирован: 2014.12.20, 11:21

Re: Пытаюсь следовать мануалу с GitHub

Сообщение Hunger Cannibal »

models/Country.php:

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

<?php
namespace app\models;

use yii\db\ActiveRecord;
use app\models\Country;

class Country extends ActiveRecord
    {
        // получаем все строки из таблицы "Country" и сортируем их по "name"
        $countries = Country::find()->orderBy('name')->all();

        // получаем строку с первичным ключём "RU"
        $country = Country::findOne('RU');

        //отобразит "rus federation"
        echo $country->name;

        // меняем имя страны
        $country->name = 'Russian Federation';
        $country->save();
    } 
controller/CountryController.php:

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

<?php

namespace app\controllers;

use yii\web\Controller;
use yii\data\Pagination;
use app\models\Country;

class CountryController extends Controller{
    public function actionIndex(){
        $query = Country::find();

        $pagination = new Pagination([
            'defaultPageSize' => 5,
            'totalCount' => $query->count(),
        ]);

        $countries = $query->orderBy('name')
            ->offset($pagination->offset)
            ->limit($pagination->limit)
            ->all();

        return $this->render('index', [
            'countries' => $countries,
            'pagination' => $pagination,
        ]);
    }
} 
views/country/index.php:

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

<?php
use yii\helpers\Html;
use yii\widgets\LinkPager;
?>

<h1>Countries</h1>
<ul>
    <?php foreach ($countries as $country): ?>
    <li>
        <?php Html::encode("{$counry->name} ({$country->code})") ?>:
        <?php $country->population ?>
    </li>
    <?php endforeach; ?>
</ul>

<?php LinkPager::widget(['pagination' => $pagination]) ?>
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Пытаюсь следовать мануалу с GitHub

Сообщение ElisDN »

Вы вставляете код прямо в класс Country.
Hunger Cannibal
Сообщения: 7
Зарегистрирован: 2014.12.20, 11:21

Re: Пытаюсь следовать мануалу с GitHub

Сообщение Hunger Cannibal »

Тоесть здесь - https://github.com/yiisoft/yii2/blob/ma ... tabases.md неправильно показано?
Alex8552
Сообщения: 36
Зарегистрирован: 2014.10.07, 15:13

Re: Пытаюсь следовать мануалу с GitHub

Сообщение Alex8552 »

Посмотрите как должна выглядеть модель на примере модели User
Alex8552
Сообщения: 36
Зарегистрирован: 2014.10.07, 15:13

Re: Пытаюсь следовать мануалу с GitHub

Сообщение Alex8552 »

там все правильно,только код который должен быть в контроллере вы вставили в модель. Почитайте MVC паттерн,что для чего нужно
Hunger Cannibal
Сообщения: 7
Зарегистрирован: 2014.12.20, 11:21

Re: Пытаюсь следовать мануалу с GitHub

Сообщение Hunger Cannibal »

Спасибо. Может пару советов - как от теории к практике перейти?, или не сразу на фреймворки?
Alex8552
Сообщения: 36
Зарегистрирован: 2014.10.07, 15:13

Re: Пытаюсь следовать мануалу с GitHub

Сообщение Alex8552 »

Дело личное,но теорию надо понимать
Аватара пользователя
futbolim
Сообщения: 2051
Зарегистрирован: 2012.07.08, 19:28

Re: Пытаюсь следовать мануалу с GitHub

Сообщение futbolim »

Hunger Cannibal писал(а):Спасибо. Может пару советов - как от теории к практике перейти?, или не сразу на фреймворки?
Так и переходить. Практика, еще раз практика, как у хирургов )
А мы Вам поможем.
Hunger Cannibal
Сообщения: 7
Зарегистрирован: 2014.12.20, 11:21

Re: Пытаюсь следовать мануалу с GitHub

Сообщение Hunger Cannibal »

futbolim писал(а):
Hunger Cannibal писал(а):Спасибо. Может пару советов - как от теории к практике перейти?, или не сразу на фреймворки?
Так и переходить. Практика, еще раз практика, как у хирургов )
А мы Вам поможем.
Надеюсь и уповаю (с) )), спасибо!
Ответить