четверг, 28 апреля 2011 г.

С чего я начал. Установка Yii framework

Почитав про Yii и определившись, что это именно то, что мне нужно я захотел установить этот фреймворк на компьютер и пропробовать что ни будь с помощью него написать. Оказалось, что это не так просто! Но обо всем по порядку. Я скачал с сайта yiiframework.com установочный пакет в виде архива. С этим у меня проблем не возникло.
Надо сказать, что для программирования на PHP я использую набор инструментов denwer. Как установить и пользоваться денвером, я надеюсь вы знаете.
У меня в компьютере Денвер создаёт виртуальный диск Z:\ на котором есть папка Z:\home в ней я создал новую папку catalog.loc а в ней папку www для моего первого сайта на Yii: получилось так:
Z:\home\catalog.loc\www\
Сюда я скопировал папку framework из распакованного архива, скаченного с yiiframework.com. В папке Z:\home\catalog.loc\www\framework находится сам фреймворк: разные папки и файлы, в том числе yiic.bat. Он нужен для создания нового проекта - нового сайта. Я долго мучался как это сделать. В литературе описано, что надо прописывать системные переменные, и все такое прочие, но у меня ничего не получилось. А сработало так: открыл cmd: Пуск - выполнить -cmd В открывшемся черном окне написал:

Z:/usr/local/php5/php.exe z:/home/catalog.loc/www/framework/yiic webapp z:/home/catalog.loc/www/

и нажал Enter программа спросила yes/no (действительно ли вы это желаете), я ответил yes и в папке Z:\home\catalog.loc\www создался мой первый сайт на Yii
Данная команда передала файлу php.exe задание создать новое приложение yii в папке z:/home/catalog.loc/www/
После этого я в браузере набрал адрес http://catalog.loc и увидел рузультат!
Все вместе заняло у меня полдня.
Продолжение следует.
PS
Буду очень рад увидить первые коментарии в своем первом блоге!

53 комментария:

  1. Раньше я думал что Денвер или Xampp - это верешина удобства.
    Пользовался - радовался, но как дело коснулось всяких мелочей, лучше поставить связку Apache+php.
    Так сказать сам себе хозяин.
    Я тоже Yii начал,но бросил.
    Начал zend и бросил - тяжело.
    Теперь опять Yii Буду начинать. Точнее брать за основу для изучения. Уж очень все запутанно как для новичка. Подписался на Твой блог, буду воровать идеи. :)

    ОтветитьУдалить
    Ответы
    1. Сложно потому что надо учить сам php. Попробуй покорпеть месяцок изобретая велосипеды, углубляясь в тонкости языка. Поверь, потом все будет намного проще.

      Удалить
    2. Этот комментарий был удален автором.

      Удалить
    3. Ну мне известны основы php, побаловался я с шаблоном MVC и пробовал применять к нему ОПП... В итоге я как бы все понимаю но выполнить не всегда удается. Т.к пока я пойму что это не кусок от PDO а тупо API от Yii пройдет этак минут с 30, а если это не сильно явно и функции перекрываются я буду еще и пытаться действия применять, что вообще абсурд)))
      Так что знать нужно еще и API и SQL а не только один php

      Удалить
    4. самый четкий чел........коолько и ясно....а главное работает!!!!

      Удалить
  2. И ещё вот тут хорошо объяснено как пользоваться yiic
    http://www.simplecoding.org/yii-php-framework-sozdayom-igrovoj-sajt-chast-2-baza-dannyx-i-ustanovka-frejmvorka.html

    ОтветитьУдалить
  3. Спасибо за ссылку! Идей не жалко, было бы умение их воплотить в Yii. Сейчас я немного застопорился. Пытаюсь продвигаться в нескольких направлениях, когда будет "прорыв" напишу пост :) Можно перефразировать слова американского астранафта: Изучение Yii обсолютно неважный шаг для человечества, но очень важный шаг для человека!

    ОтветитьУдалить
  4. Ух, пытаюсь понять Yii, Сплошные вложения, зависимости, интерфейсы и прочая вкуснятина - не дает нормально учится.
    Одно дело по туториал делать свой блог, другое дело понять почему именно так надо делать, а не по другому.
    Так хочется плюнуть и начать писать простым языком.
    Мне так не хватает туториал "для чайника или ну для полного идиота". :)
    Уже 2а месяца копаюсь в Yii - успехов пока никаких.

    ОтветитьУдалить
    Ответы
    1. Как я тебя понимаю... 2ой день, а я даже элементарное не могу понять как делать.

      Удалить
    2. красавчики))) и я с вами туда же)))

      Удалить
  5. Да, это правда, "простым" языком сейчас писать проще и быстрее :)) Но когра научусь писать так же быстро и просто в Yii это будет круто! Можно будет найти хорошую рабту. Для меня изучение Yii это путь к цели: "хорошо зарабатывать занимаясь любимым делом".

    ОтветитьУдалить
  6. Огромное спасибо за Ваш блог, это громадная работа. И Ваш труд очень полезен начинающим в Yii. :)

    ОтветитьУдалить
  7. Спасибо! Так приятно это слышать, чёрт возьми!
    Покритикуйте тоже.

    ОтветитьУдалить
  8. Вдруг поможет: я ушел от денвера, хотя он меня почти устраивал, и делаю все тестовые сайты через coLinux. Бонусом получаем некие гарантии, что на реальном linux хостинге будет почти на 100% идентично + можно кое чего допилить + удобная отладка + еще по мелочи. Конечно, начальная настройка coLinux - это вам не денвер за 5 минут поставить, но в итоге все равно получается удобнее.

    ОтветитьУдалить
  9. Вообще да, несколько раз было, что в денвере работает, а на удаленном linux сервере - нет. Надо будет попробовать.

    ОтветитьУдалить
  10. сложного в Yii немного - главное суть модели MVC понять, а потом только API почитывать и все ))

    ОтветитьУдалить
  11. огромное спасибо чертовски приятно что люди еще не совсем оскатинелись и готовым помогать друг другу)) ты сделал великое дело)) ты дал мне надежду как минимум на то что я смогу разобраться со всем этим)) еще и программирование надо подтягивать))

    ОтветитьУдалить
  12. Спасибо за блог) Начал учить ви, очень помогает.
    В частности батник не работает, хз как проект сделать)))

    ОтветитьУдалить
  13. спасибо=) сначала попробовала прописать системные переменные, увы установка не началась, а этим способом все получилось=) и быстро и легко...

    ОтветитьУдалить
  14. Спасибо за статью, буду разбираться!!)

    ОтветитьУдалить
  15. Здравствуйте, я недавно стал изучать фреймворк Yii но до сих пор его не устанавливал.
    Я сделал все как вы написали, но у меня возникает проблема, когда я ввожу в консоль эту строку - то мне выдает ошибку "Unable to load dynamic library", у вас такого не было?
    Правда дальше он дает установить приложение, но оно не работает.

    ОтветитьУдалить
    Ответы
    1. та же фигня. если кто разобрался, напишите как

      Удалить
    2. Этот комментарий был удален автором.

      Удалить
    3. Этот комментарий был удален автором.

      Удалить
    4. В php.ini я прописал полный путь extension_dir = "c:\WebServers\usr\local\php5\ext\" и zend_extension="c:\WebServers\usr\local\php5\ext\php_xdebug-2.2.0-5.3-vc9.dll"

      Удалить
  16. Спасибо! это наверно единственный вариант работающий на денвере)

    ОтветитьУдалить
    Ответы
    1. Этот комментарий был удален автором.

      Удалить
    2. Нет)Есть еще проще метод... Никто из вас не разбирал того что написано выше.
      Всю статью можно выразить вот этими действиями
      1)Запуск php.exe (Вы можете его в ручную через тот же "мой комп" найти и запустить 2-ным кликом, но это не к чему)
      Z:/usr/local/php5/php.exe

      2)Запуск генератора командой yiic webapp, скрипт yiic.bat(для винды) просто yiic(для Unix).

      z:/home/catalog.loc/www/framework/yiic webapp
      3) Директория куда - z:/home/catalog.loc/www/

      А теперь тоже самое только руками.
      1) В нашем хосте куда распаковали свежую версию открываем framework/cli/views/webapp/ и копируем содержимое в корневую папку(в .../home/имя/www/)
      2) Далее открываем index.php(он уже тоже будет в/www/)
      на 4-ой строке путь: $yii=dirname(__FILE__).'/../www/framework/yii.php';

      И все, это и есть наше стартовое приложение..

      Удалить
    3. Спасибо- помогло) До этого ни один способ не мог освоить, руками все сделал все сразу заработало)

      Удалить
  17. спасибо за статью! очень просто и понятно написано! все получилось за несколько минут. буду копаться дальше:)

    ОтветитьУдалить
  18. Огромное спасибо, чудесная статья. Респект автору, держитесь и не сдавайтесь, мы в Вас нуждаемся.
    P.S. В уголку создайте блок "Пожертвование автору на благо yii-чайников-разработчиков". И Вам хорошо и в нас совесть чиста, на полезное дело не жалко копеечку бросить.

    ОтветитьУдалить
  19. Спасибо за статьи! Ты делаешь хорошее дело.

    ОтветитьУдалить
    Ответы
    1. Спасибо, но мне стыдно, что долго не писал ничего новенького, надо исправляться..

      Удалить
  20. спасибо, тоже пришлось столкнуться с этим каркасом, теперь разбираюсь с нуля... хотелось бы увидеть статьи про приложения, созданные с использованем yii framework

    ОтветитьУдалить
    Ответы
    1. Такое приложение я тут и описываю, так что по адресу зашли :)
      Могу показать реальный сайт, который вырос из этого моего каталога: www.roba.ee

      Удалить
    2. а что насчет ошибки "unable to uplaod dynamic library" в командной строке? не знаешь почему она возникает?

      Удалить
    3. а нет, хоть и пишет ошибку, но все создалось, нужно было только перезагрузить денвер. йюююху))

      Удалить
    4. По поводу ошибки: Проблема была в какой то не подключенной библиотеке вы ее не дописали так что в какой никогда не узнаем))(очень часто всех мучает php_mysql.dll)
      (Перезапуск просто дал дагрузится, есть предположение что машинка у вас не сильно мощная) лично я отвел целый комп под убунту сервер и играюсь периодически со своими Apache+php, но редко)) Куда проще запускать Денвер...(если чего то не хватает можно отдельно грузить.)

      Удалить
  21. Спасибо большое за полезную статью!

    ОтветитьУдалить
  22. Народ у меня предложение... Поскольку мы все тут не далеко ушли, и yii достаточно просторный. Предлагаю объединиться и тупо пройти от и до.(начальная организация у всех так или иначе будет одинакова) Т.к каждый упирается на чем то своем, кто на установке кто (как я на модулях))) Благо skype, icq, ВК далеко не ново.

    Короче если кто за, пишите: flying_golandets@mail.ru

    ОтветитьУдалить
    Ответы
    1. А на чем в модулях застопорился?

      Удалить
    2. Пытаюсь задействовать модуль yii-user в идеале подразумевалось еще и rights но у меня это уже из фантастики =) То у меня путь не совпадает, и мне очень красиво грамотно на это указывает php с выделением строк и.т.п то таблицы чего то не хотят записывается, по сути я не смог прописать миграции. И до сих пор не могу понять построения main.php, просит иногда записывать новые функции я их в return array(...) леплю и не всегда это выходит..) Или классы, иду по пути в модель и тут 2-а варианта либо нужно что то через gii генерировать либо если файл есть пытаться применить методы... У меня каша в голове) Хоть бы кто показал/дал готовый вариант как на Drupal-сборки (в их случае там собрать не проблема все модули сами подключаются) а тут сам принцип до конца не понятен я пытаюсь хвататься за основу MVC но не везде четко она видна т.к часть кода написана разработчиком а они по всем правилам ОПП запутывают меня простого обывателя =) (иногда не вижу связи или упрусь в незнакомую константу, одним словом букет!)
      P.S
      Хотел собрать сборку с:
      Пользователи с полями (Фото,имя,эмейл,пол, о себе и.т.п).
      Сообщения в 2-х вариантах ЛС и ПС-как на форумах обсуждение.
      Галерея...
      На Drupal это было сделать легко в течении 15минут (с установкой, настройкой) но тут.
      Я уже дошел до того что создаю мануал для пользователей (то что сам уже прошел, поподробнее описываю, так что любой поймет) Я б не поленился целый канал бы создал по каждому этапу. Потому как все пишут вроде одно и то же но понятно далеко не всем.

      Удалить
  23. и я так ставил . переменные всякие не помогли почему-то. хотя я сторонник делать как положено

    ОтветитьУдалить
    Ответы
    1. Этот комментарий был удален автором.

      Удалить
  24. Добрый день всем! Спасибо за статтю, у меня на windows7 в консоли работает след. команда:
    "C:\Program Files\VertrigoServ\Php\php.exe" "C:\Program Files\VertrigoServ\www\myyii\framework\yiic" webapp "C:\Program Files\VertrigoServ\www\app1"

    ОтветитьУдалить
  25. Автору спасибо!
    Было бы неплохо добавить в статью замечание по поводу правки php.ini
    У меня тоже для того чтобы сработало, потребовалось в php.ini приписать абсолютный путь в extencion_dir

    ОтветитьУдалить
  26. У меня заняло сутки!!!! Спасибо за инфу!!!

    ОтветитьУдалить
  27. Спс за статью. Помогла. справился за 10 минут

    ОтветитьУдалить
  28. Уважаемые автор, в статье Вы написали: "В литературе описано, что надо прописывать системные переменные, и все такое прочие, но у меня ничего не получилось." Могу посоветовать статью где описано как это сделать - http://resource-gsv.ru/webserver/run-sprit-console.html

    ОтветитьУдалить
  29. Для Yii есть очень полезная IDE Codelobster

    ОтветитьУдалить