Блог. Разбор примера

нет, ты делаешь неверно

Надо сделать так:

Win+R вводишь cmd ->Enter

Потом в зависимости от того, где у тебя Yii. У меня - E:\XAMPP\htdocs\Yii

Я делаю так:

C:Documents and SettingsKonstantin>E:





E:>cd XAMPP





E:XAMPP>cd htdocs





E:XAMPPhtdocs>cd Yii





E:XAMPPhtdocsYii>yiic shell ..GISindex.php


Yii Interactive Tool v1.0


Please type 'help' for help. Type 'exit' to quit.


>>

yiic - это программа для командной строки, она принимает два параметра. Первый - что делать, второй - аргумент для "что делать"

"Что делать" может быть:

webapp - создание нового приложения. Второй параметр - это папка, в которой создать приложение

shell - открытие оболочки для автоматического создания команд, контрооллеров, впредставлений и моделей. Второй параметр - это путь к файлу index.php этого приложения.

Есть удобная штука чтобы открывать командную строку где надо - вот она: http://download.micr…wertoySetup.exe Ставишь, потом появляется пункт меню Open command window here. при щелчке правой кнопкой на любом каталоге

Внимание! Чтобы это работало, надо чтобы винда знала, где искать твой пхп. Для этого ты должен пойти в свойства моего компьютера (правой кнопкой-свойства), там "дополнительно" - "переменные среды"

Долдна быть в верхнем окошке переенная PHP_COMMAND с полным путем к пхп. Лично у меня - E:\XAMPP\php\php.exe

Если у тебя XAMPP, надо это делать руками, он не прописывает. Если денвер - то он делает это автоматом, н народ ругался что он че-то не то делает. Посмотри в топиках на русском форуе, там есть про денвер.

CLI (command line interface - позволяет запускать php просто как интерпретатор, а не как модуль апача) - т.е. где-то в переменной окружения должен быть путь до php.exe, если путь не прописан используй следующий формат для запуска шелла

> C:\path\to\php\php.exe  C:\xampp\path\to\yii\framework\yiic shell

p.s. не забудь перейти в каталог проекта…

уууппсс!!! Опередил! :) :) :)

Quote

> C:\path\to\php\php.exe   C:\xampp\path\to\yii\framework\yiic shell

выскакивает окно " C:\path\to\php\php.exe" не являеться приложением win32

(у меня лежит в c:\www\php\php.exe)

Ну тут вообще-то уже вопрос не по Yii :)

А ты уверен, что указал ПРАВИЛЬНЫЙ путь к пхп? Я не силен в разных инсталлах связки пхп+апач+мускуль, меня абсолютно без проблем работает XAMPP. Единственное только что плохо с ним - никак xdebug к нему не прикручу, надо до 1.7 обновить :)

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

может в темку фак по установке yii и прикрепить?

Ты знаешь, я пока на форум не попал даже не знал что должна быть инструкция :)

Ну реально, че там ставить - кинул в папку досупную для сервеа и радуешься.

С другой стороны, оказываетс вот сколько проблем. Так что наверное надо :)

Quote

Ты знаешь, я пока на форум не попал даже не знал что должна быть инструкция :)

Ну реально, че там ставить - кинул в папку досупную для сервеа и радуешься.

С другой стороны, оказываетс вот сколько проблем. Так что наверное надо :)

ну если есть вопросы, должны быть ответы :)

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

Давайте конкретные вопросы - будут ответы.

Сейчас могу только подытожить что уже говорил.

Установка и конфигурация Yii, настройка среды, создание первого приложения

  1. Качаем Yii

  2. Распаковываем в веб-директорию (Допустим, С:\www\htdocs\Yii)

  3. Заходим через браузер на страничку http://localhost/Yii/requirements/

  4. Фиксим все требования, которые нужны (PDO например)

  5. Выясняем, где лежит исполняемый файл php.exe. В ксампе это X:\XAMPP\php\php.exe (X - ваш диск)

  6. Качаем и устанавливаем вот эту штуку:http://download.microsoft.com/download/whistler/Install/2/WXP/EN-US/CmdHerePowertoySetup.exe

  7. Пока она качается и ставится - идем в свойства моего компьютера - дополнительно - переменные среды и добавляем переменную PHP_COMMAND, ее значение - это путь к пхп (шаг 5)

  8. Открываем Мой Компьютер. Топаем в директорию С:\www\htdocs\Yii (туда, куда распаковали)

  9. Там должно быть 3 или 4 папки, она из них - framework. на ней правый щелчок мышкой и выбираем пункт Open Command window here

  10. Открывается командная строка. В ней пишем

yiic webapp ..test
  1. Должны получить вывод типа такого:

Quote

E:XAMPPhtdocsYii>yiic webapp ..\test

Create a Web application under 'E:\XAMPP\htdocs\test'? [Yes|No] yes

      mkdir E:/XAMPP/htdocs/test

      mkdir E:/XAMPP/htdocs/test/assets

…bla-bla-bla…

Your application has been created successfully under E:\XAMPP\htdocs\test./quote]

(У меня немного по-другому лежит Yii)

  1. Все, теперь топаем в C:\www\htdocs\Yii\test и наслаждаемся первым приложением. Открывается оно через http://localhost/Yii/test/

Использование шелла для генерации моделей и операций CRUD (создание, удаление, обновление и т.п.)

  1. Через проводник открываем папку на уровень выше нашего приложения. Если продолжать инструкцию выше - C:\www\htdocs\Yii

  2. Правой кнопкой на папке test -> Open Command window here

  3. Открывается командная строка.

  4. Там пишем такое:

..frameworkyiic shell

Это вызов того же файла, но с парамером shell. Третим параметром вообще-то должен идти путь к файлу index.php приложения, для которого мы будем генерить команды, но если текущая директория - это директория проекта, то его указывать не надо. У нас как раз второй случай.

  1. Появится что-то типа:

Quote

E:\XAMPP\htdocs\test>..\Yii\yiic shell

Yii Interactive Tool v1.0

Please type 'help' for help. Type 'exit' to quit.

>>

  1. Далее вводим

    model [Имя таблицы]
    . Генерируется модель для указанной таблицы.
  2. После генерации модели можно сгенерировать операции CRUD:

    crud [Имя модели]

Внимание! По стандартам кодирования и именования в Yii, имя талблицы должно начинаться с большой букв и иметь вид типа TableName. Имя модели ВСЕГДА совпадает с имененм таблицы. Делайте так и все будет ОК. Регистр имеет значение!

  1. Повторить необходимое количество раз :)

Внимание! Для того, чтобы вы могли через шелл генерить модели и операции CRUD, вы ОБВЯЗАТЕЛЬНО должны настроить коннект к базе в конфиге приложения. Как делается - см здесь.

Внимание №2! Если вы получаете сообщение типа “таблица не найдена” при генерации модели, и при этом вы на 100% уверены что такая таблица есть и что в ввели ее имя в правильном регистре (критично для юникса), это значит, что коннект к БД настрое неверно. Проверьте DSN (формат, имя БД), проверье юзера и пароль. Проверьте, имеет ли юзер доступ к базе. А доступ к компандам типа SHOW CREATE TABLE?

Внимание №3! Если вы возпользовавшись предыдущей рекомендацией таки нашли обшибку в коннекте и исправили ее, то надо перезапустить шелл. Для этого пишем exit. И запускаем снова.

Успехов!
[/quote]

Почему может быть отказано в доступе? После команды "yiic webapp …/testdrive" пишет в  cmd окне  "отказано в доступе" и выскакивает окно "php.exe не является приложением Win32 "

А ты уверен, что нашел правильный php.exe?

Я понятия не имею, почему могут быть проблемы с командным интерфейсом пхп…

У меня все работает на счет “раз”. Поищи, может есть другие php.exe :)