Yii2 framework первые шаги: GeekBrains — Учебный курс «Yii2 Framework. Первые шаги»…
php — Yii Framework: база данных не выбрана
В настоящее время я пробую свои первые шаги с Yii, PHP и всем остальным. Обычно я работаю только с интерфейсными приложениями. Я подошел к этой ошибке, на которую, похоже, не нашел ответа.
SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected
The SQL being executed was: SELECT * FROM `country` ORDER BY `name`
Error Info: Array
(
[0] => 3D000
[1] => 1046
[2] => No database selected
)
↵
Caused by: PDOException
SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected
Моя конфигурация в db.php
return [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:localhost:3306;dbname=database_name',
'username' => '****',
'password' => '****',
'charset' => 'utf8',
];
Есть идеи?
1
Timmaex
19 Авг 2017 в 14:47
2 ответа
Лучший ответ
Ваш формат dsn
кажется неправильным, попробуйте использовать: (отсутствует имя параметра, host = и port =)
'dsn' => 'mysql:host=localhost;dbname=database_name;port=3306',
1
scaisEdge
19 Авг 2017 в 11:59
Попробуй это:
SELECT * FROM database_name. `country` ORDER BY `name`
Также удалите порт:
return [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:localhost;dbname=database_name',
'username' => '****',
'password' => '****',
'charset' => 'utf8',
];
0
Chandra Kumar
19 Авг 2017 в 11:50
45771160
Джаз-клуб «Эссе»
Цена: 150,00 р.
Сборник джазовых произведений в облегченных обработках.
Юрий Маркин (р.1942) — музыкант, композитор, аранжировщик, педагог, прошедший большой творческий путь в джазе, выступал в разных составах со знаковыми музыкантами как контрабасист и как пианист. Творчество Юрия Маркина всегда сопровождалось поиском своего пути в джазе и, попробовав себя в различных музыкальных направлениях, он обратился к наследию классиков. Это не могло не произойти, это логично вытекало из большого музыкального опыта Маркина, из его творческого общения с композиторами Михаилом Чулаки, Альфредом Шнитке, Родионом Щедриным.
В одном интервью Маркин сказал: «…Классика всегда притягивала мой интеллект, а сердце тянулось к джазу…». И еще: «…Мне казалось, что классики чуть-чуть не дошли до джаза в гармонии и во всем остальном. Я в их музыке увидел богатейшие гармонические схемы для импровизации, которые при поверхностном взгляде не видны. Надо было раскрыть матрешки, и в глубине был самый смак. Я брал за основу саму музыкальную идею — одноголосную мелодию, саму музыкальную мысль, а весь музыкальный наряд шил свой. Мне кажется, что потомки имеют право на использование творчества предков».
Содержание:
Часть 1: Мои первые шаги в джазе
C.Basie — Jave At Five
C.Basie — Basie Blues
C.Basie — Swingin’ The Blues
C.Basie — Sent For You Yesterday
N.Hefty — Li’l Darlin’
C.Basie — Shorty George
C.Basie — Jumpin’At The Woodside
C.Basie — One O’Clook Jump
C.Basie — Two O’Clook Jump
C.Basie — Everyday
C.Basie — Until I Met You
Часть 2: В настроении Каунта Бэйси
S. Williams -Basin Street Blues
Down By The Riverside
W.Hendy -Sant Louis Blues
Th.Layton — Dear Old Southland
B.Rayle — Jersey Jump
L.Young — Just Rou Just Me
E.Blake — Memories Of You
W.Hudson — Moonglow
E.Hynes — Rosetta
J.MсHeuse — Ican’t Give You Anything Bud Love
F.Waller — Black And Blue
J.McHeuse — On The Sunny Side Of The Street
J.Marks — All Of Me
K.Weil — Mack The Knife
G.Shiring — Lullaby Of Birdland
Роскошная жизнь
Все о тебе
Как не надо писать сравнения. Symfony2 vs Yii: какой фреймворк выбрать в 2015-м году?
Почитал свежую статью отличной команды stfalcon. Оформлена она замечательно, читается приятно. В итоге Symfony почти безоговорочно рвёт Yii, но есть «нюансы», которые делают статью некорректной.
Производительность Symfony2 vs Yii: краткое сравнение
Заголовок отличный, только вот про саму производительность ни слова. А ведь это сильная сторона Yii.
Но, пускай установка и настройка Симфони не такие уж простые, но они оптимизированы, и мы, разработчики, сразу получаем на руки уже готовое решение.
Не очень ясно, что тут имеется ввиду, но в Yii 2.0 мы получаем на руки также готовое решение, созданное из шаблонов проектов basic или advanced. Кроме того, можно и свой шаблон сделать.
Разработка через тестирование: Symfony2 — торт!
Что Symfony2 — торт в плане тестирования не спорю, но вот как-то упущено, что если в Yii 2.0 использовать dependency injection и выделять код в компоненты и доменный слой, тестировать не менее приятно.
ORM/Active Record: Для этого разработчикам приходится обращаться к статическим методам, чтоб тянуть модели, и к не статическим — для логики моделей.
Так было в Yii 1.1. В 2.0 запросы выделены в Query.
Стиль кода
После прочтения этой части становится ясно: сравнивают Yii 1. 1 с Symfony2. Круто. Yii 2.0 следует PSR-2 и использует пространства имён.
Расширения
Опять про Yii 1.1. В 2.0 расширения ставятся полностью автоматически через Composer. Yii 2.0 упоминается, но как что-то такое, что вообще ещё не готово и рассматривать даже не стоит. А ведь с релиза 2.0 уже почти год прошёл.
Комьюнити
У Yii сообщество настолько большое и активное, что тот же GitHub не может всех отобразить: «Woah, this network is huge! We’re showing only some of this network’s repositories». 175 тысяч юзеров на форуме, 27 тысяч в относительно недавно созданной группе в Facebook. Активный IRC-канал. И, что главное, отличное отношение к новичкам.
Также мы принимаем, как и Symfony и другие серьёзные фреймворки, непосредственное участие в php-fig. То есть «создаём тренды, актуальные для мира PHP».
Плюсы и минусы Symfony2
- Относится в той же степени к Yii. К тому же, документация Symfony настаивает на том, что это не MVC-фреймворк.
- Относится в той же степени к Yii.
- Относится в той же степени к Yii.
- Встроенная поддержка Codeception позволяет писать функциональные и приёмочные тесты в Yii 2.0.
- YAML как плюс фреймворка? Серьёзно?
- Поддержка событий в ядре Yii 2.0 присутствует. Заранее подготовленного диспетчера нет, но делается он созданием нового bootstrap-класса очень просто.
- Поддержка DI в Yii 2.0 имеется.
- Аналогично.
Плюсы и минусы Yii: минусы
- Это про 1.1. В 2.0 очень много всего для крупных приложений. Начиная с тегирования кеша и кончая поддержкой read-write split для репликации БД.
Итого: статья не актуальная и определённо вредная. Если брать те пункты, по которым делалось сравнение, в большинстве случаев Yii 2.0 или лучше или на равных. Я ни в коем случае не хочу сказать, что Symfony — плохой фреймворк. Конечно, это далеко не так. Но рассматривать его вторую версию в сравнении с Yii 1.1, который уже несколько устарел, полностью некорректно.
Разработка на Yii — Заказать сайт на Yii фреймворк под ключ
Заказать создание сайта на Yii Framework под ключ
На сегодняшний день одним из наиболее популярных языков программирования является PHP. Поэтому не удивительно, что именно на нем написано большинство используемых сегодня фреймворков. Из их числа хочется выделить Yii Framework – один из самых старых и популярных у современных веб-разработчиков. Созданный в далеком 2008 году, Yii постоянно обновляется, поэтому остается функциональным и востребованным. Он походит для решения задач любой сложности, но лучше всего для масштабных проектов, таких как интернет-магазины, крупные информационные порталы, форумы.
Особенности Yii Framework
Сегодня разработка сайта на Yii Framework под ключ очень популярна, так как этот фреймворк имеет множество важных преимуществ. Основным плюсом специалисты считают высокую скорость работы этой системы и отличную поддержку ООП. Кроме этого нельзя не упомянуть и то, что Yii включает в себя множество библиотек. Это значительно упрощает задачу создания веб-приложений, отвечающим самым строгим современным требованиям к надежности и функциональности. Среди других приятных особенностей фреймворка нужно отметить такие:
- Yii Framework обеспечен отличной документацией. Раньше все инструкции были доступны лишь на английском языке, но недавно появилась возможность скачать их на официальном сайте проекта на множестве языков;
- фреймворк распространяется абсолютно бесплатно и при этом еще и под лицензией BSD. Благодаря этому разработка сайта на Yii Framework допускается и в коммерческих целях;
- У Yii есть внушительное сообщество, где всегда готовы прийти на помощь друг другу. В сообществе есть опытные разработчики, общение с которыми будет полезно новичкам, делающим первые шаги в программировании;
- Система предлагает отличный генератор кода, способный создать исходный код по введенным параметрам.
Важно и то, что при отсутствии каких-то важных библиотек, вы можете самостоятельно подключить их к Yii, взяв из других современных фреймворков. Разработчики не забыли и о вопросах безопасности – система содержит богатый арсенал защитных механизмов против большинства способов атак, в том числе самых современных.
Создание и Разработка сайтов на Yii Framework под ключ
Но больше всего разработчиков Yii Framework всегда волновала производительность фреймворка. Как показывают результаты теста phpmark, им удалось достичь поставленной цели и удерживать пальму первенства в скорости. Yii является наиболее быстрым фреймворком из всех, представленных сегодня в мире. Труд разработчиков значительно облегчает возможность быстрого прототипирования продукта. Разумеется, прототип – это совсем не то же самое, что готовый продукт, но увидеть работающую модель системы иногда очень важно.
Заказать сайт на Yii
Если вам посоветовали заказать сайт на Yii PHP Framework в нашей компании, то можно быть абсолютно уверенным, что сделал это человек, отлично разбирающийся в вопросе. Мы являемся командой профессионалов, которые много лет занимаются написанием сайтов на самых разных фреймворках. Огромный опыт работы, творческий подход к решению любых поставленных задач, а также высокий уровень ответственности, делают нашу студию идеальным исполнителем самых сложных проектов. Наши специалисты используют индивидуальный подход к каждому клиенту и стараются максимально точно выполнить поставленную задачу. Мы всегда выдерживаем договорные обязательства и сдаем работу в точно оговоренные сроки. Что касается стоимости создания сайта, то вы можете быть уверенны в том, что цены нашей веб студии самые демократичные.
Моя научная и околонаучная деятельность: Фреймворк Yii: первые шаги
Решила поизучать Yii с помощью этой книги. Для начала пришлось установить PHP & Apache. Оказалось, что тут описан «путь Воина», при выборе которого исходники Apache компилируются на компьютере пользователя. Это полезно, когда нужно настроить всякие тонкости.
Далее в книге предлагалось скачать yii, скопировать ее в web-accessible folder и проверить, удовлетворяются ли в системе минимальные требования для ее работы. Насколько я поняла, такой папкой является /var/www. Но в эту папку оказалось не так-то просто скопировать файлы. Поэтому пришлось копировать через терминал:
sudo cp -r /home/natalia/yii-1.1.2.r2086/* /var/www
Далее, проверила выполнение минимальных требований, набрав в строке браузера
127.0.0.1/requirements/index.php
(то, что localhost по адресу 127.0.0.1 увидела в сообщениях при установке LAMP)
Минимальные требования были выполнены. Далее в книге предлагалось воспользоваться инструментом yiic, который автоматически создает demo-приложение. Но если писать так, как указано в книге, никак не получалось. Ответ нашелся в документации по этой версии, скачанной с сайта yii framework. Воспользовалась одним из альтернативных предложенных в документации способов. Перешла в папку /var/www/framework и набрала
php yiic. php webapp /home/natalia/demo.
Потом попыталась открыть http://localhost/demo/index.php и увидела ошибку 404.
Оказалось, что нужно было настроить еще несколько вещей (спасибо Дмитрию).
1. Для удобства и пущей безопасности было решено хранить веб-проекты в папке /home/natalia/projects, а yii framework поместить в папку /home/natalia/projects/lib/yii. Настроить права к папке projects: sudo chmod -R 777 /home/natalia/projects.
2. Изменить права к папке apache, чтобы без проблем можно было сохранять внесенные изменения: sudo chmod -R 777 /etc/apache2
3. Настроить DocumentRoot в файле /etc/apache2/sites-available/default.txt DocumentRoot — указывает apache на то, откуда брать файлы для сайтов. В файле default вместо папки /var/www в паре мест написать /home/natalia/projects.
3. В demo-приложении в файле index.php поправить строку (путь к yii)
$yii = dirname(_FILE_).’../lib/yii/framework/yii.php’;
4. Перезапустить apache
sudo service apache2 stop
sudo service apache2 start
После этого демо-приложение заработало 🙂
Курсовые и дипломные работы: Yii framework видеоуроки
Тренинг «PHP Master 2 – Yii Framework»
Новый интенсивный 2-х месячный курс по PHP-программированию с использованием современного фреймворка Yii
Вы узнаете::
Yii framework видеоуроки
1. Какие преимущества и возможности даёт знание PHP-программирования мастерски?
2. Почему эффективно писать большие PHP-приложения именно с помощью Yii-фреймворка, а “старичка” Code Igniter уже можно даже “похоронить”?
3. Какая проблема существующих учебников и даже видеокурсов по языку PHP, и что значит быть не новичком, а мастером-профессионалом?
4. Как Вы можете научиться PHP-программированию высокого уровня с помощью простых и понятных материалов, обучаясь интенсивно и взаимодействуя с учителем?
Из каких частей будет состоять учебный курс ?:
Часть 1. Базовый курс PHP-программирования
Часть 2. Особенности ООП в PHP5.
Часть 3. Основы M-V-C и первые шаги в использовании Yii Framework.
Часть 4. Yii Framework в деталях.
Часть 5. Отдельные классы Yii
Часть 6. Практика создания приложений на Yii. Собственная CMS.
Часть 7. Практика создания приложений на Yii. Небольшой блог.
Часть 8. Практика создания приложений на Yii. Простой Интернет-магазин.
Часть 9. Прочие материалы по Yii Framework.
Вот начал изучение фреймворка Yii. Вот в Code igniter документация доступна и понятна — с чего начать и т.д.
В yii документация суховата в одном месте. В чем сухость? С чего начать изучение yii?
Как устроена структура файлов и папок, как «подключить» вьювер, layout, компонент. Какие правила их именования?
Детальнее бы хотел узнать о папке protected. Спасибо. Если слишком наглый я, то напишите). Опыт работы с CI есть, хотя я понял что в роли изучения Yii, он кроме как понимания архитектуры MVC, больше не играет.
Очень хотелось бы вступить в ряды разработчиков на yii.
Спасибо за внимание.
Adobe Photoshop CS8 crack
Marlin Уроки по программированию
Я захотел изучить PHP & MySQL, но нигде не находил нужную информацию. Когда начинал разбираться, возникало много вопросов, а задавать их было некому. Чуть позже, уже набравшись опыта, пришла в голову идея: обучать, объяснять и помогать тем, кто также ищет выход из ситуации. Это подтолкнуло создать Marlin. Записывать видео, где буду рассказывать простым языком о сложном — о программировании.
Я учился сам и собирал информацию из открытых источников и на основе чужого кода. Мучился и уставал от бессилия, потому что не было четкой инструкции: что, как и зачем делать. Не хватало такой дорожной карты, где было бы все подробно расписано по шагам. Не находил толкового ментора, кто смог бы научить и объяснить. 15 апреля 2015 года я опубликовал первое видео на YouTube-канале Marlin. Это были короткие уроки о создании сайта на Yii2. Меня тогда никто не знал, поэтому просмотров было немного. А вот желания делиться информацией о программировании и помогать другим — предостаточно.
Первые комментарии об уроках Yii2
Начинать всегда сложно, особенно если перед глазами видишь успешные и популярные проекты. Казалось, что я все делаю не так: столько трачу времени, а просмотры не увеличиваются. Но я не сдавался, а продолжал снимать ролики. Делился радостью, когда записывал видео, и все постепенно начало налаживаться. Старания не прошли зря. Через десять-двадцать роликов появились комментарии, и какие! Говорили, что наконец-то поняли, как правильно писать код. Кто-то смог сдать диплом, устроиться на работу. Но кроме этого стали поступать запросы на индивидуальные занятия и консультации.
Стал снимать больше видео: записал курс уже по разработке собственного блога на фреймворке Yii2. Его опубликовал создатель этого фреймворка Александр Макаров на официальном сайте Yii2. Потом стал объяснять основы PHP, Laravel и ООП для начинающих. Все чаще видел комментарии под видео о том, как я понятно объясняю сложное и доношу мысли так, чтобы понял каждый. Все больше людей меня узнавали и подписывались на канал.
Позже стали приглашать на IT-конференции. Я брал интервью у ведущих разработчиков Авито, Badoo, SkyEng на Highload++, это крупнейшая профессиональная конференция для разработчиков высоконагруженных систем. В 2019 году пригласили на профессиональный фестиваль для тех, кто делает интернет, — РИТ. Посмотрите, как это было круто:
Начало конференци
Главный конференц-зал
На мастер классе от Василию Пантюхина, разработчика из Amazon
Видео-отчет о HighLoad++ В Санкт-Петербурге.
Интервью с Александром Емелиным, ведущим разработчиком в Авито.
С Александром Макаровым, основателем фреймворка Yii2.
Все это мотивировало работать дальше и развивать проект. Особенно впечатляли истории от незнакомых подписчиков и их слова благодарности. Кто-то случайно наткнулся на мои ролики на YouTube, посмотрел несколько, втянулся, прошел курс и устроился работать разработчиком. Доход увеличился, жизнь стала интересней. А еще несколько месяцев назад пахал на заводе, а сейчас — в IT-компании. И таких историй много. Посмотрите путь развития, который вы можете пройти.
Я продолжал консультировать и отвечать на вопросы, но не успевал работать с каждым. Мне нравилось, что я помогаю другим менять жизнь в лучшую сторону, поэтому задумался о том, чтобы разработать курс для всех. Чтобы без воды, сложных схем и заученных формул, а так, как делаю это для роликов: понятно, интересно и с обратной связью.
План обучения на программиста посмотрели больше 120 000 человек и больше 600 оставили комментарии. Это видео многим откликнулось, потому что в нем каждый видит решение своей проблемы. Я прошел через все это сам и знаю, с чем сталкивается человек во время обучения новой профессии. Поэтому в июне 2020 года запустил курс по основам PHP & MySQL.
Курс PHP & MySQL — это трехнедельная пошаговая программа с теорией без воды и с отработкой навыков на проектах. А также сопровождение, тестирование, экзамены и консультации со мной один на один. Курс подходит для начинающих программистов и тех, кто хочет освоить профессию веб-разработчика.
За несколько лет я сформировал программу обучения, которая начинается от синтаксиса и заканчивается фреймворком Laravel. Все это решает такие проблемы, как:
Отсутствие практики. Поймете, как применять синтаксис, и с его помощью начнете писать проекты. Приступать к работе станет гораздо легче.
Каша в голове. Увидите пошаговые принципы написания кода, «проникнете» в голову программистов и поймете идеи создания алгоритмов.
Синдром мартышки. Избавитесь от слепого следования и перестанете переписывать все с экрана.Только через объяснение, обратную связь и понимание основ сможете читать и писать код.
Отсуствие ментора. Получите возможность разобрать ваш проект, задать вопросы и получить обратную связь. Это важно на начальном этапе, чтобы не переписывать код с нуля в будущем.
На курсе всего 20 мест. Посмотрите программу обучения и присоединяйтесь.
Проект развивается. На данный момент Marlin — грамотная система обучения программированию с нуля. Видео, советы, разборы, психология, мотивация и большая поддержка команды айтишников. От начинающих до профи, кто всегда подскажет и поможет. И я, Рахим Муратов, с вами на связи, продолжаю записывать видео, отвечать на комментарии и помогать вам на всех этапах обучения.
Что говорят обо мне и проекте Marlin
Присоединяйтесь к проекту
Смотрите видео, оставляйте комментарии, приходите осваивать новую профессию веб-разработчика. Я всегда рад помочь и ответить на вопросы.
yii2-advanced-app — Начало работы с yii2-advanced-app
В этом разделе представлен обзор того, что такое yii2-advanced-app, и почему разработчик может захотеть его использовать.
Следует также упомянуть любые крупные темы в yii2-advanced-app и дать ссылки на связанные темы. Поскольку документация для yii2-advanced-app является новой, вам может потребоваться создать начальные версии этих связанных тем.
Установка или настройка
Требования для установки
Минимальное требование для этого шаблона проекта — поддержка вашего веб-сервера PHP 5.4.0.
Yii2-advanced-app можно установить двумя способами. Их
- Установка через Composer
- Установка из архивного файла
1) Установка через Composer
Если у вас еще не установлен Composer, вы можете сделать это, следуя инструкциям на сайте getcomposer.орг. В Linux и Mac OS X вы выполните следующие команды:
Сначала нам нужно установить композитор.
Шаг-1
Установите Composer. Запустите команду ниже в своем терминале
curl -sS https://getcomposer. org/installer | php
Step-2 Теперь смените каталог
sudo mv composer.phar / usr / local / bin / композитор
Шаг-3 Проверить работу композитора
композитор
Если Composer установлен успешно.
Затем установите приложение с помощью следующих команд:
composer global требуется "fxp / composer-asset-plugin: ~ 1.1.1"
композитор создать-проект --prefer-dist yiisoft / yii2-app-advanced yii-application
Первая команда устанавливает плагин composer asset, который позволяет управлять зависимостями пакетов bower и npm через Composer. Вам нужно только запустить эту команду один раз и навсегда. Вторая команда устанавливает расширенное приложение в каталог с именем yii-application.
Вы можете выбрать другое имя каталога, если хотите.
2) Установка из архивного файла
Распакуйте архивный файл, загруженный с yiiframework. com, в каталог с именем advanced, который находится непосредственно под корнем Web.
Измените файл config / web.php, введя секретный ключ для элемента конфигурации cookieValidationKey
(это делается автоматически, если вы устанавливаете Yii с помощью Composer):
// !!! вставьте секретный ключ в следующее (если он пуст) - это требуется для проверки файлов cookie
'cookieValidationKey' => 'введите здесь свой секретный ключ',
Затем следуйте инструкциям, приведенным в следующем подразделе.
Подготовка заявки
После установки приложения необходимо выполнить следующие шаги для инициализации установленного приложения. Вам нужно сделать это только раз и навсегда.
- Откройте консольный терминал, выполните команду init и выберите dev в качестве среды.
/ путь / к / php-bin / php / путь / к / yii-application / init
Если вы автоматизируете его с помощью сценария, вы можете выполнить init в неинтерактивном режиме.
/ путь / к / php-bin / php / путь / к / yii-application / init --env = Production --overwrite = All
Создайте новую базу данных и настройте конфигурацию
components ['db']
вcommon / config / main-local.php
соответственно.Откройте консольный терминал, примените миграции с помощью команды
/ path / to / php-bin / php / path / to / yii-application / yii migrate
.
Начало работы с Yii Framework
Много-много месяцев назад я написал [intlink id = ”473 ″ type =” post ”] сообщение о фреймворке Yii [/ intlink].Это фреймворк для создания веб-приложений с использованием PHP 5 (или выше), который мне очень понравился с тех пор, как я начал с него работать. Ruby on Rails был первым фреймворком веб-разработки, который я лично использовал (еще в 2005 году), а Zend был первым фреймворком PHP. Мне нравится первое, и Yii во многом похож на него, но мне никогда особо не нравился Zend. В том первом посте я обсуждал просто загрузку и тестирование Yii; здесь я расскажу, как создавалось веб-приложение.
(Примечание: в октябре 2010 года я обновил всю эту серию, чтобы отразить изменения в Yii с момента написания этой серии, а также учесть отзывы, предоставленные через комментарии.Некоторые устаревшие материалы будут вычеркнуты, но оставлены, чтобы отразить, как все изменилось с тех пор, как серия была начата в июне 2009 года.)
В конкретном примере я буду использовать веб-приложение «сотрудники-отделы» со списком отделов и списком сотрудников, причем каждый сотрудник относится только к одному отделу. Это классический пример, так как он прост для понимания, практичен, использует более одной таблицы базы данных и может быть расширен многими способами. Однако для начала вы воспользуетесь инструментами командной строки Yii, чтобы создать фрейм приложения. Если вы будете размещать сайт на сервере, к которому у вас нет доступа из командной строки, вам следует установить полный веб-сервер (Apache, PHP, MySQL и т. Д.) На свой компьютер, выполнить эти шаги, а затем загрузите готовый проект после того, как завершите его. Если на вашем компьютере еще нет веб-сервера, я бы рекомендовал использовать XAMPP (для Windows) или MAMP (для Mac), оба из которых бесплатны и чрезвычайно просты в использовании.
Первое, что вам нужно сделать, это убедиться, что у вас установлена последняя версия фреймворка Yii.В моем первом посте обсуждается, как его получить. Затем вы захотите поместить папку framework в логическое место на сервере. Вам не нужно помещать его в веб-каталог (возможно, и не следует), но рядом, например, в каталоге ниже имеет наибольший смысл. Например, в моей настройке папка htdocs является корневым веб-сайтом, то есть http://www.example.com указывает на нее.
Моя структура каталогов.
Совет. Если вы собираетесь использовать Yii для нескольких сайтов на одном сервере, поместите папку framework в логический каталог относительно каждого сайта.Таким образом, при обновлении фреймворка вам нужно будет заменить файлы только в одном месте.
Затем вам нужно войти в среду командной строки, такую как окно / консоль DOS в Windows или приложение терминала в Mac OS X (и некоторых версиях Linux). Затем перейдите в каталог framework . На моем сервере это означает выполнение этой строки:
cd / Users / larryullman / Sites / YiiBlogSite / framework
Вам нужно будет изменить детали в соответствии с вашими настройками.
Следующим шагом является указание приложению yiic , находящемуся в папке framework , создать новый сайт. Синтаксис
yiic webapp путь / к / каталог
Но прежде чем вы даже начнете использовать эту команду, позвольте мне немного объяснить ее, так как это очень важно и может быть сложно. Файл yiic — это исполняемый файл, который запускается с использованием командной строки PHP компьютера и на самом деле просто вызывает сценарий yiic.php . Вы можете позвонить по нему, используя всего yiic или ./ yiic (т.е. запустить команду yiic , найденную в текущем каталоге). Или вы можете более явно вызвать любой скрипт, используя php yiic или php yiic.php . Или вам может потребоваться указать исполняемый файл PHP, который будет использоваться: C: \ php \ php.exe yiic . Вам следует попробовать варианты этой команды применительно к вашему компьютеру, чтобы убедиться, что вы можете вызвать yiic , прежде чем пытаться создать веб-приложение.
Помимо правильного выполнения сценария yiic , может возникнуть еще одна проблема, если на вашем компьютере установлено более одной версии PHP.Чтобы подтвердить используемую версию, запустите php -v (опять же, вам может потребоваться указать полный путь к исполняемому файлу PHP). В Mac OS X и Unix вы можете использовать which php , чтобы показать исполняемый файл PHP, используемый командой php . Эти шаги могут помочь решить запутанные проблемы. Например, на своем Mac я использую MAMP Pro для веб-разработки PHP и MySQL, но когда я запускаю PHP через командную строку, я фактически вызываю PHP, установленный вместе с операционной системой.Это может быть проблемой, так как разные версии PHP могут или не могут соответствовать требованиям Yii, изложенным в моем первом посте. Я знаю, что когда я впервые попробовал это, PHP командной строки (установленный вместе с ОС) не поддерживал требуемое расширение PDO, хотя веб-версия PHP (в MAMP Pro) поддерживала. Мое решение заключалось в том, чтобы явно указать исполняемый файл MAMP PHP при запуске yiic : /Applications/MAMP/bin/php5.3/bin/php yiic.
Как только вы узнаете, что определились с правильным синтаксисом для вызова yiic , вы следуете за ним с помощью webapp , команды для «создания нового веб-приложения». Затем укажите путь к самому веб-приложению. Учитывая уже указанную структуру каталогов (на рисунке выше), команда будет иметь вид
.
./yiic webapp ../htdocs
или
php yiic webapp ../htdocs
Или любой другой вариант, который вам нужен.
Вам будет предложено подтвердить, что вы хотите создать веб-приложение в указанном каталоге. Введите Y (или Да ) и нажмите Return. После множества строк ответов вы должны увидеть сообщение об успешном создании приложения.Чтобы убедиться в этом, загрузите сайт в свой браузер (конечно, пройдя через URL):
Автоматически созданное базовое приложение Yii
Что касается функциональности, то сгенерированное приложение уже включает:
- домашняя страница с дальнейшими инструкциями
- контактная форма, заполненная CAPTCHA
- форма входа
- возможность приветствовать авторизованного пользователя по имени
- функция выхода из системы
Это очень хорошее начало для приложения, особенно если учесть, что вы еще не написали ни строчки кода. Обратите внимание, что контактная форма будет работать только после того, как вы измените конфигурацию, указав свой адрес электронной почты. Для входа вы можете использовать либо (имя пользователя / пароль): demo / demo или admin / admin . Наконец, точный внешний вид приложения может отличаться от одной версии фреймворка Yii к другой.
Что касается файлов на сервере, в каталоге приложения ( htdocs , для меня) вы найдете:
- активов
- CSS
- изображений
- индекс-тест.php
- index.php
- защищенный
- темы
Папка assets будет использоваться фреймворком Yii в основном для интеграции jQuery (фреймворк JavaScript). Папки css и images очевидны. Весь сайт также будет проходить через один из двух индексных файлов (подробнее об этом в следующем посте). Папка , защищенная , на самом деле является самой важной: вы отредактируете код, найденный в этой папке, чтобы изменить внешний вид и поведение сайта.Темы . позволяет создавать вариации в шаблоне сайта, как темы в блоге WordPress.
Совет. Папка assets должна быть доступна для записи веб-сервером, иначе могут возникнуть странные ошибки. Это не должно быть проблемой, если вы не переносите сайт Yii с одного сервера на другой и разрешения не верны после переноса.
Итак, это начало веб-приложения на основе Yii. Для каждого сайта, который вы создаете с помощью Yii, вы, скорее всего, выполните следующие действия.В следующем посте я начну демонстрировать, как вы можете настроить приложение и изменить его на примере сотрудников и отделов.
Как всегда, спасибо за интерес к тому, что я хочу сказать, и, пожалуйста, дайте мне знать, если у вас есть какие-либо вопросы или комментарии.
Ларри
PHP Framework — Yii 2.
В этом посте я сначала собираюсь… | автор: Ашвин Вишванат
В этом посте я сначала познакомлю вас с одной из самых популярных фреймворков PHP — Yii2, которая используется при разработке веб-приложений и приложений ERP.Во-вторых, я собираюсь обсудить важное расширение Yii, известное как Gii, и то, как сгенерировать CRUD в Yii с помощью Gii.
Yii включает удобный инструмент Gii, который обеспечивает быстрое прототипирование путем создания часто используемых фрагментов кода, а также полных контроллеров CRUD. Gii — это инструмент быстрой генерации кода, который мне понравился и который я буду использовать в своих будущих проектах. Вам понадобится базовое понимание PHP, чтобы следовать этому руководству.
При установке Yii автоматически устанавливается расширение Gii.Итак, чтобы продемонстрировать Gii, необходимо, чтобы вы знали, как установить Yii.
Сначала я расскажу о Yii, а затем перенесу вас в сторону Gii. Во-вторых, я познакомлю вас с несколькими важными генераторами кода, такими как «Генератор моделей» и «CRUD», которые я буду использовать в своих будущих проектах.
Введение в Yii
Yii — это высокопроизводительный компонентный PHP-фреймворк для быстрого программирования современных веб-сайтов, это аббревиатура от «Yes It Is»!
Yii — это универсальный фреймворк, который можно использовать для кодирования всех видов веб-приложений, использующих PHP.Поскольку он следует архитектуре на основе компонентов и развитой поддержке механизмов кэширования, он подходит для создания крупных приложений, таких как порталы, форумы, системы управления контентом (CMS), коммерческие проекты (электронные магазины), веб-службы, приложения ERP и многое другое.
Yii против других фреймворков PHP?
Если вы уже знакомы с другим фреймворком PHP, вы можете оценить следующие отличительные особенности:
- Как и большинство других фреймворков, Yii реализует архитектуру MVC (модель-представление-контроллер) и поддерживает организацию кода в линию. с этим рисунком.
- В Yii код может быть написан на Y простым подходом. Yii не пытается изменить шаблон проектирования, а следует существующим шаблонам проектирования, чтобы код оставался простым.
- Yii предоставляет проверенные и готовые к использованию функции: конструкторы запросов и Active Record для реляционных баз данных и NoSql; поддержка RESTFull API; поддержка многоступенчатого кеширования; и больше.
- Yii чрезвычайно расширяемый. Вы можете настроить или изменить практически любую часть основного кода. Вы можете использовать архитектуру расширений для использования или создания расширений, которые легко распространять.
- Высокая производительность — главная ключевая особенность Yii.
Требования и зависимости
- Yii 2.0 требует PHP 5.4.0 или более новой версии.
- Более подробные требования к конкретным функциям можно проверить, запустив тестер требований requirements.php , включенный в каждый выпуск Yii.
- Использование Yii требует базовых знаний объектно-ориентированного программирования на PHP (ООП). Yii 2, будучи объектно-ориентированной средой, использует последние улучшения PHP, такие как пространства имен.
Установка Yii
Перед установкой Yii убедитесь, что у вас установлены серверы WAMP / XAMPP / MAMP или LAMP в зависимости от используемой вами ОС. При установке сервера будут установлены PHP, Apache и MySQL.
Yii можно установить двумя способами
a) Использование Composer
b) Ручная установка
Использование Composer
Позвольте мне рассказать вам о первом методе установки через Composer
Шаги, которые необходимо выполнить при установке Yii2 с использованием Composer
- Если вы используете Linux или Mac OS X, выполните следующие команды в командной строке
curl -sS https: // getcomposer.org / installer
php mv composer.phar / usr / local / bin / composer
Если вы пользователь Windows, скачайте композитор по ссылке — https://getcomposer. org/Composer-Setup.exe
Во время установки укажите путь к файлу php.exe, находящемуся в корневой папке вашего сервера для командной строки PHP.
2. После установки композитора в командной строке откройте путь к корневой папке и выполните следующую команду, чтобы обновить композитор до последней версии.
самообновление композитора
3. Установите шаблон Yii.
Чтобы установить базовый шаблон приложения, выполните следующую команду:
php composer.phar create-project yiisoft / yii2-app-basic your-project-folder-name
Чтобы установить расширенное приложение шаблона, выполните команду ниже:
php composer.phar create-project yiisoft / yii2-app-advanced your-project-folder-name
Это успешно установит приложение Yii2 в вашу корневую папку
Установка вручную
Второй метод установки — это установка вручную
Действия, которые необходимо выполнить при установке Yii2 с помощью ручной установки
- Загрузите файл архива, содержащий шаблон Yii2
Для базового шаблона — https: // github. com / yiisoft / yii2 / Release / download / 2.0.13 / yii-basic-app-2.0.13.tgz
Для расширенного шаблона — https://github.com/yiisoft/yii2/releases/download/2.0 .13 / yii-advanced-app-2.0.13.tgz
2. Затем распакуйте архивный файл и добавьте распакованный шаблон Yii в корневую папку. Переименуйте папку проекта шаблона.
3. Загрузите composer.phar с https://getcomposer.org/composer.phar
Добавьте загруженный файл в папку проекта.
4. Теперь откройте командную строку, перейдите к пути к папке проекта и запустите команды
composer update
php init
yii migrate
Теперь вы можете получить доступ к установленному приложению Yii из URL
http: //localhost/your-project-folder/web/index.php? R = site
Это приведет вас к экрану, показанному ниже.
Успешная установка Yii
При успешной установке Yii также устанавливается Gii.
Gii предоставляет веб-интерфейс, позволяющий быстро сгенерировать нужный код. Он также предоставляет интерфейс командной строки для людей, которые предпочитают работать с окнами консоли.
Gii — официальное расширение Yii. Он будет автоматически установлен при установке Yii с помощью композитора, иначе вы можете явно установить его, выполнив команду ниже
composer require «yiisoft / yii2-gii: *»
Кроме того, вы можете добавить эту строку кода в требуется раздел вашего композитора .json файл :
«yiisoft / yii2-gii»: «*»
Затем запустите команду composer update в командной строке, получив доступ к пути к папке проекта.
После установки расширения Gii вы должны включить его, добавив эти строки в файл конфигурации вашего приложения main.php. После включения Gii он доступен по URL-адресу
http: //localhost/project-folder-name/web/index.php? R = gii
Указанный выше URL-адрес приведет вас к экрану, как показано ниже
Gii включает в себя различные типы генераторов кода, которые будут обрабатывать автоматическую разработку кода, а также заботятся о зависимостях внешнего ключа и подключают связанные модели. Различные генераторы кода в Gii следующие:
- Model Generator — Создает класс ActiveRecord для указанной таблицы базы данных. Таблица базы данных заполняется по предложению ключевых слов и упрощает поиск по данным.
- Генератор CRUD — генерирует контроллер и соответствующие представления, которые реализуют операции CRUD (создание, чтение, обновление, удаление) для указанной модели данных. Также заботится об объединениях зависимостей таблиц.
- Генератор контроллеров — Создание нового контроллера, одного или нескольких действий контроллера и их соответствующих представлений.Следовательно, реализует операции CRUD для этих представлений.
- Генератор форм — Создает файл представления, который отображает форму на основе класса модели. Кроме того, генерируется код действия контроллера для добавления в соответствующий контроллер для поддержки создаваемого представления.
- Генератор модулей — Генерирует псевдокод модуля Yii.
- Генератор расширений — Создает файлы расширения Yii.
Поскольку Yii следует шаблону MVC, фреймворк содержит папки — модели, контроллеры, представления.
Генератор моделей генерирует класс ActiveRecord (реляционная база данных) для указанной таблицы базы данных. Сгенерированные модели создаются в папке моделей каркаса.
Нажмите кнопку Start под генератором моделей, чтобы начать создание моделей.
Перед этим создайте таблицу в своей базе данных. Например, я создаю таблицу Company
CREATE TABLE IF NOT EXISTS `company` (
` id` int (11) NOT NULL AUTO_INCREMENT,
`company_name` varchar (50) NOT NULL,
` company_address` varchar (100) NOT NULL,
`company_email` varchar (100) NOT NULL,
` created_on` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE = InnoDB DEFAULT CHARSET = latin1 AUTO_INCREMENT = 1;
Имя таблицы
Имя таблицы базы данных, с которой связан новый класс ActiveRecord.
Введите «компания» в текстовое поле имени таблицы
Класс модели
Имя создаваемого класса ActiveRecord.
Класс модели автоматически создается Gii и начинается с заглавной буквы.
Пространство имен
Пространство имен создаваемого класса ActiveRecord.
Пространство имен создано. По умолчанию пространство имен: app \ models
app может быть заменено на внешний или внутренний
Base Class
Базовый класс нового класса ActiveRecord.По умолчанию базовым классом является yii \ db \ Activerecord
Идентификатор соединения с базой данных
Идентификатор компонента приложения БД. По умолчанию объект подключения к базе данных — db
Использовать префикс таблицы
Это указывает, должно ли имя таблицы сгенерированного класса ActiveRecord быть добавлено с префиксом с подключением к базе данных.
Например, если имя таблицы — tbl_employee , класс ActiveRecord вернет имя таблицы как {{% post }}
Создать отношения
Создает отношения на основе ограничений внешнего ключа, которые он обнаруживает в базе данных.
Генерировать метки из комментариев БД
Создает метки атрибутов, используя комментарии соответствующих столбцов БД.
Включить I18N
Установите значение true, если вы хотите разработать свое приложение для перевода на многие языки.
Категория сообщения
Эта категория используется, если вы включили I18N.
Шаблон кода
Набор шаблонов должен использоваться для создания кода.
Теперь нажмите кнопку «Предварительный просмотр», отобразится путь к созданному файлу кода. Если вы уже создали эту Модель и хотите ее перезаписать. Установите флажок перезаписать.
Затем нажмите кнопку «Создать», чтобы сгенерировать файлы, и ваши файлы модели будут созданы в @app \ models \ Model.
Демонстрацию можно увидеть на снимке экрана ниже
Теперь я покажу вам, как сгенерировать CRUD после создания модели. Обратите внимание, что создание CRUD требует для начала создания связанной модели.
Создание веб-приложений на PHP может привести к повторяющемуся коду. Инструмент Gii работает для вас как по волшебству и создает код, необходимый для выполнения — функции создания, чтения, обновления и удаления. Кроме того, он создает новые модели Active Record, новые контроллеры, формы, модули и расширения.
Теперь я проведу вас через процедуру выполнения операций CRUD с использованием Gii
Класс модели
Добавьте класс модели таблицы данных, которую вы только что создали с помощью генератора моделей.
В моем случае я добавил frontend \ models \ Company. По умолчанию это @app \ models \ Model. Не забудьте добавить пространство имен перед классом Model.
Класс поиска
Здесь добавьте тот же класс модели с ключевым словом «Поиск» в конце пути. На моем снимке экрана вы видите frontend \ models \ CompanySearch .
Этот класс модели поиска содержит СОЕДИНЕНИЯ таблицы данных с другими таблицами в базе данных.Это позволит искать записи на основе ключевых слов, которые вы добавляете в таблицы индексного файла.
Класс контроллера
Здесь создается контроллер с путем и пространством имен. В этом примере я добавил frontend \ controllers \ Company Controller. По умолчанию это @app \ controllers \ CompanyController.
Ключевое слово «Контроллер» добавляется в конец пути.
Путь просмотра
Путь просмотра создает представления CRUD.По умолчанию Gii создает следующие представления для реализации CRUD, как показано ниже
_form. php — СОЗДАТЬ И ОБНОВИТЬ
_search.php — ПОИСК
create.php — СОЗДАТЬ
update.php — ОБНОВИТЬ
view.php — ЧИТАТЬ
index.php — DATATABLE & DELETE
Теперь нажмите «Предварительный просмотр», чтобы увидеть список файлов, которые необходимо создать.
Теперь нажмите «Создать», чтобы создать представления, как показано ниже.
Теперь операция CRUD успешно завершена с помощью Gii Tool.Операция CRUD настолько проста, насколько и хороша, но выполняется очень легко, всего за несколько простых шагов.
Сгенерированные файлы показаны ниже. Это даст вам приблизительное представление о том, как выглядит экран, созданный с помощью crud
CREATE — VIEW — UPDATE — DELETE
http: //localhost/project-folder-name/web/index.php? R = company / createhttp : //localhost/project-folder-name/web/index.php? r = company / view? id = 1http: //localhost/project-folder-name/web/index.php? r = company / update? id = 1http: // localhost / имя-папки-проекта / web / index. php? r = company / delete? id = 1http: //localhost/project-folder-name/web/index.php? r = company / index
Таким образом, Yii имеет гораздо больше возможностей, чем большинство других фреймворков PHP для создания надежных веб-приложений и приложений ERP. Выше упомянуты генераторы кода, которые я буду использовать в своих будущих проектах, но есть еще много других, которые можно использовать для создания более умных и эффективных приложений.
Создайте собственное веб-приложение с помощью Yii Framework: Урок
Yii — это быстрая и безопасная система для создания приложений PHP.У него отличная поддержка разных баз данных.
Yii можно использовать для создания любых веб-приложений. Он особенно подходит для веб-приложений с высокой посещаемостью, таких как форумы, сайты социальных сетей, порталы и т. Д.
Мы много раз слышим обо всех разнообразных фреймворках для PHP. Здесь я постараюсь продемонстрировать вам самый быстрый метод создания веб-приложения Yii с использованием встроенных инструментов, предоставляемых Yii. Это должно быть возможно всего за пару шагов.
Итак, давайте посмотрим, как
Сначала загрузите последний исходный код Yii.
Пришло время создать наше первое приложение Yii. Вы можете использовать команду yiic для этого через командную строку и Gii (мощный веб-генератор кода) для автоматизации работы с кодом для некоторых действий.
Распакуйте загруженный zip-файл в каталог проекта. Запустите yiic в командной строке, как указано ниже —
% YiiRoot / framework / yiicwebappWebRoot / testdrive
Это сформирует скелет Yii-приложения в каталоге WebRoot / testdrive.Приложение имеет структуру каталогов, которая требуется большинству приложений Yii.
Когда вы запустите эту команду, вы сможете увидеть это приложение, перейдя на —
http: //hostname/testapp/index.php
УСТРАНЕНИЕ НЕПОЛАДОК
В случае, если при создании нового приложения через командную строку вы получите ошибку, которая читается как:
«php. exe не распознается как внутренняя или внешняя команда, работающая программа или командный файл»
Еще раз проверьте правильность настройки вашей установки.
Так просто, правда? Всего два шага, и теперь у вас есть готовый веб-каркас. Не написав ни единого кода, мы можем протестировать наше первое приложение Yii. Теперь перейдем к интерфейсу этого приложения с базой данных.
Для работы с базой данных мы должны открыть файл main.php в каталоге config. Раскомментируйте массив db и введите соответствующие настройки базы данных следующим образом:
Когда мы подготовили подключение к базе данных, мы можем начать создание нескольких страниц и модулей.Как это сделать?
Точно так же есть автоматизированный инструмент для этого. Это называется инструментом gii. Вы найдете альтернативы для создания нескольких вещей, таких как CRUD, модели и т. Д.
А теперь приступим к интересной части. Возможно, мы захотим выполнить действия CRUD. Это также обычно требуется в функциональных приложениях, использующих инструмент Gii.
Чтобы использовать Gii, нам сначала нужно изменить файл WebRoot / testdrive / protected / config / main.php, который называется файлом конфигурации приложения:
Вы можете посетить http: // hostname / testapp / index.php? r = gii для получения доступа к генератору кода. Нам будет указан пароль, который должен быть тем, который мы ввели при настройке вышеупомянутого приложения.
Теперь мы сгенерируем модель пользователя. После входа в систему нажмите ссылку «Генератор моделей». Это перенесет нас на страницу создания модели.
В поле Имя таблицы введите tbl_user. В поле Класс модели введите Пользователь. В этот момент нажмите Preview. Это покажет нам новый файл кода, который будет создан. В настоящее время нажмите кнопку «Создать».Другой файл с именем User.php будет создан под protected / models. Этот класс модели User позволяет нам взаимодействовать с базовой таблицей tbl_user базы данных в объектно-ориентированном шаблоне.
При создании файла класса модели мы создадим код, который выполняет задачи CRUD в отношении пользовательской информации. Подбираем Crud Generator в Gii.
В поле Model Class вставьте User. В поле ID контроллера введите строчными буквами — «пользователь». Затем нажмите кнопку «Предварительный просмотр» рядом с кнопкой «Создать».Мы остановили генератор кода CRUD.
Пришло время получить доступ к страницам CRUD.
Давайте еще немного повеселимся, просмотрев указанный URL —
http: //hostname/testdrive/index.php? R = пользователь
Это откроет нам список записей пользователей в таблице tbl_user.
Нажмите кнопку «Создать пользователя» на странице.
Мы перейдем на страницу входа в систему, если ранее не входили в систему. После входа в систему мы увидим форму ввода, которая позволит нам добавить запись для нового пользователя.Завершите эту форму и нажмите на кнопку — Создать. В случае какой-либо ошибки ввода появится сообщение об ошибке, которое не позволит нам сохранить информацию. На странице списка пользователей мы должны увидеть недавно включенного пользователя, отображаемого в кратком списке.
Вы можете перефразировать вышеуказанные шаги, чтобы ввести больше пользователей. Обратите внимание, что страница списка пользователей естественным образом разбивает записи на страницы, если на одной странице должно отображаться много записей.
В случае, если мы войдем в систему как администратор с помощью admin / admin, мы увидим страницу администратора пользователя с указанным ниже URL-адресом —
http: // имя хоста / testdrive / index.php? R = пользователь / администратор
Это продемонстрирует нам записи пользователей в приличной табличной форме. Мы можем нажать на ячейки заголовка таблицы, чтобы классифицировать соответствующие сегменты. Мы можем нажимать кнопки на каждой строке данных, чтобы просмотреть, удалить или обновить соответствующую строку данных. Мы также можем просматривать различные страницы. Кроме того, мы можем фильтровать и сканировать для поиска информации, к которой мы хотим получить доступ.
Итак, вы, должно быть, уже узнали, что все эти достойные характеристики так легко доступны, не ожидая, что мы напишем ни единой строчки кода.Все благодаря фреймворку Yii!
Установка
YII в Linux — javatpoint
Мы устанавливаем наш Yii2 framework через Composer. Итак, сначала нам нужно установить composer в нашу систему Linux.
Для работы Composer Yii2 в наших системах необходимо сначала установить некоторые пакеты для их поддержки.
Итак, приступим. Откройте свой терминал и начните выполнять следующий код.
Установка предварительных условий для Composer и Yii2 framework
Step 1 Установка curl
Шаг 2 Пакет php5-cli установка
Посмотрите на снимок выше, он запрашивает разрешение, нажмите y , а затем «Enter».
Шаг 3 Пакет php5-mysql установка
Шаг 4 Пакет php5-mycrypt установка
Чтобы активировать его, нам нужно выполнить следующую команду.
Теперь эти четыре пакета всегда будут оставаться в вашей системе, и вам не нужно устанавливать их каждый раз при установке Yii framework.
Установка Yii
Давайте установим композитор глобально в нашу систему.
Шаг 1 Установка Composer
Шаг 2 Установка Composer Глобально
Шаг 3 После установки композитора установите плагин ресурсов композитора.
Здесь вас могут попросить ввести Token , который указывает имя пользователя и пароль GitHub . Если у вас его нет, просто создайте его. Его очень легко создать и бесплатно использовать.
Эта команда позволяет управлять плагинами ресурсов, такими как css, js и т. Д., Которые управляют зависимостями npm и bower .
Теперь мы готовы установить базовые и расширенные шаблоны.
Шаг 4 Для установки Базовый шаблон
После завершения загрузки вы можете переименовать его как хотите. Наша папка называется basic.
Шаг 5 Для установки шаблона Advanced
Здесь мы назвали его Advanced.
Step 6 Запустите его в браузере со следующим URL:
http: // localhost / Advanced / frontend / web /
Посмотрите на снимок выше, вы успешно загрузили фреймворк Yii2 в свою систему. Теперь запустите ваше приложение.
7 причин выбрать фреймворк Yii 2
В конце прошлого года SitePoint опубликовал статью, в которой выделил основные фреймворки PHP.Четвертое место заняла платформа Yii (произносится: Yee ). На тот момент последней доступной версией фреймворка была 1.1.14. Недавно стал доступен Yii 2.0, так что вы можете начать использовать его в продакшене.
Хотя мы обсуждали его недавно, когда он все еще находился в статусе RC, он только что достиг статуса полной версии, и мы чувствуем, что пришло время вернуться к этой теме с некоторыми причинами, по которым мы предпочли ее альтернативным вариантам.
1. Простота установки
Для веб-разработчиков время — деньги, и никто не хочет тратить свое драгоценное время на сложный процесс установки и настройки.
Установка выполняется с помощью Composer. Если вам нужно описание процесса установки, Sitepoint недавно опубликовал отличную статью здесь. Я предпочитаю использовать базовый шаблон приложения, даже если на моем сайте есть отдельные внешние и внутренние компоненты. Вместо этого я предпочитаю использовать модуль для внутренней части своих сайтов. (Модули Yii лучше всего описывать как мини-приложения, которые находятся внутри вашего основного приложения).
Примечание : Многие ссылки на каталоги в последующих примерах используют структуру каталогов из простого шаблона.
2. Использует современные технологии
Yii — это чистая среда ООП, которая использует некоторые из более продвинутых функций PHP, включая позднее статическое связывание, классы и интерфейсы SPL, а также анонимные функции.
Все классы имеют пространство имен, что позволяет использовать их автозагрузчик, совместимый с PSR-4. Это означает, что включить вспомогательный класс HTML в Yii так же просто:
используйте yii \ helpers \ Html;
Yii также позволяет вам определять псевдонимы, чтобы упростить ваши пространства имен.В приведенном выше примере оператор use
загрузит определение класса, которое по умолчанию находится в каталоге / vendor / yiisoft / yii2 / helpers
. Этот псевдоним определен в классе BaseYii в строке 79:
.
общедоступные статические $ aliases = ['@yii' => __DIR__];
Сам фреймворк устанавливается с помощью Composer, как и его расширения. Даже процесс публикации расширений так же прост, как создание собственного composer.json
, размещение вашего кода на Github и размещение вашего расширения на Packagist.
3. Высокая расширяемость
Yii похож на костюм, который отлично смотрится вне стойки, но его также очень легко адаптировать к вашим потребностям. Практически каждый компонент фреймворка является расширяемым. Простым примером является добавление уникального идентификатора тела к вашим представлениям. (Если вам интересно узнать, зачем вам это нужно, прочтите эту статью).
Во-первых, я бы создал в моем каталоге app \ components
файл с именем View.php
и добавил следующее:
пространство имен app \ components;
класс View расширяет yii \ web \ View {
public $ bodyId;
публичная функция getBodyIdAttribute () {
return ($ this-> bodyId! = '')? 'id = "'.$ this-> bodyId. '"': '';
}
}
Затем в моем основном файле макета ( app \ views \ layouts \ main.php
) я бы добавил в тег body моего HTML следующее:
BodyIdAttribute? >>
И, наконец, я бы добавил в свой основной файл конфигурации следующее, чтобы Yii знал, что нужно использовать мой расширенный класс View
вместо своего собственного класса по умолчанию:
возврат [
'компоненты' => [
'view' => [
'класс' => 'приложение \ компоненты \ Просмотр'
]
]
];
4.
Призывает к тестированию
Yii тесно интегрирован с Codeception. Codeception — отличная среда тестирования PHP, которая помогает упростить процесс создания модульных, функциональных и приемочных тестов для вашего приложения. Потому что вы пишете автоматические тесты для всех своих приложений, верно?
Расширение Codeception упрощает настройку приложения во время тестирования. Просто отредактируйте предоставленный файл /tests/_config.php
, чтобы настроить тестовое приложение.Например:
возврат [
'компоненты' => [
'mail' => [
'useFileTransport' => истина,
],
'urlManager' => [
'showScriptName' => истина,
],
'db' => [
'dsn' => 'mysql: host = localhost; dbname = mysqldb_test',
],
],
];
При такой конфигурации произойдет следующее:
- Любые электронные письма, отправленные во время функциональных и приемочных тестов, будут записаны в файл, а не отправлены.
- URL-адреса в ваших тестах будут иметь формат
index.php / controller / action
, а не/ controller / action
- Ваши тесты будут использовать вашу тестовую базу данных, а не вашу производственную базу данных.
.
В Codeception также существует специальный модуль для Yii Framework. Он добавляет несколько методов в класс TestGuy
, которые помогают вам работать с Active Record (Yii ORM) во время функциональных тестов. Например, если вы хотите узнать, успешно ли ваша регистрационная форма создала нового пользователя
с именем пользователя «testuser», вы можете сделать следующее:
$ I-> amOnPage ('регистр');
$ I-> fillField ('имя пользователя', 'testuser');
$ I-> fillField ('пароль', 'qwerty');
$ I-> щелкните («Зарегистрироваться»);
$ I-> seeRecord ('app \ models \ User', array ('name' => 'testuser'));
5.Упрощает безопасность
Безопасность является важной частью любого веб-приложения, и, к счастью, в Yii есть несколько замечательных функций, которые помогут вам упростить жизнь.
Yii поставляется с компонентом приложения безопасности, который предоставляет несколько методов, помогающих создать более безопасное приложение. Вот некоторые из наиболее полезных методов:
- generatePasswordHash: генерирует безопасный хэш из пароля и случайной соли. Этот метод делает для вас случайную соль, а затем создает хеш из предоставленной строки с помощью функции PHP crypt.
- validatePassword: это функция-компаньон для
generatePasswordHash
, которая позволяет проверить, соответствует ли введенный пользователем пароль вашему сохраненному хешу. - generateRandomKey: позволяет создать случайную строку любой длины.
Yii автоматически проверяет действительный токен CSRF для всех небезопасных методов HTTP-запроса (PUT, POST, DELETE) и генерирует и выводит токен, когда вы используете метод ActiveForm :: begin () для создания тега открывающей формы.Эту функцию можно отключить, отредактировав основной файл конфигурации, включив в него следующее:
возврат [
'компоненты' => [
'запрос' => [
'enableCsrfValidation' => ложь,
]
];
Для защиты от XSS Yii предоставляет еще один вспомогательный класс под названием HtmlPurifier. У этого класса есть единственный статический метод с именем process, который будет фильтровать ваш вывод, используя популярную библиотеку фильтров с тем же именем.
Yii также включает готовые классы для аутентификации и авторизации пользователей.Авторизация делится на два типа: ACF (фильтры контроля доступа) и RBAC (контроль доступа на основе ролей).
Более простой из двух — ACF, который реализуется путем добавления следующего в метод поведения вашего контроллера:
используйте yii \ filters \ AccessControl;
class DefaultController расширяет контроллер {
public function behavior () {
возвращаться [
'class' => AccessControl :: className (),
'only' => ['создать', 'войти', 'просмотреть'],
'rules' => [
[
'allow' => true,
'действия' => ['логин', 'просмотр'],
'роли' => ['?']
],
[
'allow' => true,
'действия' => ['создать'],
'роли' => ['@']
]
]
];
}
}
Приведенный выше код сообщает DefaultController
разрешить гостевым пользователям доступ к действиям login
и view
, но не к действию create
. (?
— это псевдоним для анонимных пользователей, а @
— для аутентифицированных пользователей).
RBAC — это более мощный метод определения пользователей, которые могут выполнять определенные действия в вашем приложении. Он включает в себя создание ролей для ваших пользователей, определение разрешений для вашего приложения, а затем включение этих разрешений для их предполагаемых ролей. Вы можете использовать этот метод, если хотите создать роль Модератор
и разрешить всем пользователям, назначенным этой ролью, утверждать статьи.
Вы также можете определить правила с помощью RBAC, которые позволяют вам при определенных условиях предоставлять доступ к определенным аспектам вашего приложения. Например, вы можете создать правило, которое позволяет пользователям редактировать свои собственные статьи, но не статьи, созданные другими.
6. Сократить время разработки
Большинство проектов включают в себя определенное количество повторяющихся задач, на которые никто не хочет тратить время. Yii дает нам несколько инструментов, которые помогут вам тратить меньше времени на эти задачи и больше времени на настройку вашего приложения в соответствии с потребностями ваших клиентов.
Один из самых мощных из этих инструментов называется «Gii». Gii — это веб-инструмент для создания шаблонов кода, который позволяет быстро создавать шаблоны кода для:
- Модели
- Контроллеры
- Формы
- Модули
- Расширения
- Действия и представления контроллера CRUD
Gii легко настраивается. Вы можете настроить его только для загрузки в определенных средах. Просто отредактируйте файл веб-конфигурации следующим образом:
if (YII_ENV_DEV) {
$ config ['modules'] ['gii'] = [
'class' => 'yii \ gii \ Module',
'allowedIPs' => ['127.0.0.1 ',' :: 1 ']
]
}
Это гарантирует, что Gii будет загружаться только в том случае, если для переменной среды Yii установлено значение development , и что он будет загружаться только при доступе через localhost.
Теперь посмотрим на генератор модели:
Имя таблицы использует виджет с опережением ввода, чтобы попытаться угадать, с какой таблицей связана ваша модель, и все поля имеют всплывающую подсказку, напоминающую вам, как их заполнять. Вы можете предварительно просмотреть код, прежде чем попросить Gii сгенерировать его, и все шаблоны кода полностью настраиваются.
Также доступно несколько инструментов командной строки, помогающих создавать шаблоны кода для миграции баз данных, переводов сообщений (I18N) и приспособлений баз данных для ваших автоматических тестов. Например, вы можете создать новый файл миграции базы данных с помощью этой команды:
yii миграция / создание create_user_table
Это создаст новый шаблон миграции в {appdir} / migrations, который будет выглядеть примерно так:
Php
используйте yii \ db \ Schema;
class m140924_153425_create_user_table расширяет \ yii \ db \ Migration
{
публичная функция вверх ()
{
}
публичная функция вниз ()
{
echo "m140924_153425_create_user_table не может быть отменен. \ п ";
вернуть ложь;
}
}
Итак, допустим, я хотел добавить несколько столбцов в эту таблицу. Я бы просто добавил к методу вверх
следующее:
публичная функция вверх ()
{
$ this-> createTable ('пользователь', [
'id' => Схема :: TYPE_PK,
'username' => Схема :: TYPE_STRING. ' НЕ НОЛЬ',
'password_hash' => Схема :: TYPE_STRING. ' НЕ НОЛЬ'
], ноль);
}
А затем, чтобы убедиться, что я могу отменить миграцию, я бы отредактировал метод вниз
:
публичная функция вниз ()
{
$ this-> dropTable ('пользователь');
}
Для создания таблицы просто нужно выполнить команду в командной строке:
./ yii миграция
и удалить таблицу:
./yii миграция / вниз
7. Простота настройки для повышения производительности
Всем известно, что медленный веб-сайт вызывает недовольство пользователей, поэтому Yii предоставляет вам несколько инструментов, которые помогут вам выжать больше скорости из вашего приложения.
Все компоненты кеширования Yii являются наследниками yii / caching / Cache, что позволяет вам выбирать любую систему кеширования, которую вы хотите, при использовании общего API. Вы даже можете зарегистрировать несколько компонентов кэша одновременно.В настоящее время Yii поддерживает кэширование баз данных и файловой системы, а также APC, Memcache, Redis, WinCache, XCache и Zend Data Cache.
По умолчанию, если вы используете Active Record, Yii выполняет дополнительный запрос, чтобы определить схему таблиц, участвующих в создании вашей модели. Вы можете настроить приложение для кэширования этой схемы, отредактировав свой основной файл конфигурации следующим образом:
возврат [
'компоненты' => [
'db' => [
'enableSchemaCache' => истина,
'schemaCacheDuration' => 3600,
'schemaCache' => 'кеш',
],
'cache' => [
'class' => 'yii \ caching \ FileCache',
],
],
];
Наконец, в Yii есть инструмент командной строки для упрощения минификации внешних ресурсов. Просто выполните следующую команду, чтобы сгенерировать шаблон конфигурации:
./yii asset / template config.php
Затем отредактируйте конфигурацию, чтобы указать, какие инструменты вы хотите использовать для минификации (например, Closure Compiler, YUI Compressor или UglifyJS). Сгенерированный шаблон конфигурации будет выглядеть так:
Php
возвращаться [
'jsCompressor' => 'java -jar compiler.jar --js {from} --js_output_file {to}',
'cssCompressor' => 'java -jar yuicompressor.jar --type css {from} -o {to} ',
'bundles' => [
],
'target' => [
'app \ config \ AllAsset' => [
'basePath' => 'путь / к / сети',
'baseUrl' => '',
'js' => 'js / all- {hash} .js',
'css' => 'css / all- {хэш} .css',
],
],
'assetManager' => [
'basePath' => __DIR__,
'baseUrl' => '',
],
];
Затем запустите эту консольную команду, чтобы выполнить сжатие.
yii asset config.php /app/assets_compressed.php
И, наконец, отредактируйте файл конфигурации вашего веб-приложения, чтобы использовать сжатые ресурсы.
'компоненты' => [
'assetManager' => [
'bundles' => требуется '/app/assets_compressed.php'
]
]
Примечание: Вам необходимо будет загрузить и установить эти внешние инструменты вручную.
Заключение
Как и любой хороший фреймворк, Yii помогает быстро создавать современные веб-приложения и обеспечивать их правильную работу.Он подталкивает вас к созданию безопасных и тестируемых сайтов, выполняя большую часть тяжелой работы за вас. Вы можете легко использовать большинство его функций точно так, как они предоставляются, или вы можете изменить каждую из них в соответствии со своими потребностями. Я действительно рекомендую вам проверить это для своего следующего веб-проекта!
Вы пробовали Yii 2? Вы будете? Дайте нам знать!
Установка Yii Framework — Блог Eduonix
В этом уроке сегодня мы изучим пошаговый процесс установки Yii farmework.
- Итак, следуйте инструкциям ниже, чтобы успешно установить Yii framework на вашем компьютере :
- Для начала установите любой текстовый редактор для PHP .
- Итак, давайте установим netbeans , которые мы будем использовать в качестве текстового редактора.
- Для установки netbeans перейдите по следующему адресу: https://netbeans.org
- Итак, вы получите следующее окно:
- Теперь нажмите кнопку загрузки, и вы будете перенаправлены на страницу, как показано ниже:
- Теперь загрузите версию netbeans PHP и HTML , как показано на изображении выше красными стрелками.
- Также установите jdk с oracle.com .
- Теперь перейдите по следующему URL-адресу, чтобы загрузить Yii Framework yiiframework. com .
- Итак, когда вы посетите этот сайт, у вас будет следующий макет:
- Щелкните каркас, как показано на изображении выше
- Теперь появится следующая страница, как показано ниже:
- Щелкните файл .zip , как показано на изображении выше, и сохраните его.
- Также загрузите сервер xampp и установите его.
- Теперь zip-файл, который мы скачали для yii framework, состоит из следующего содержания:
- Из приведенного выше списка файлов скопируйте имя папки framework и затем вставьте его в папку XAMPP
- Теперь откройте файл xamppphpphp.ini , как показано ниже:
- Теперь в файле php.ini найдите XDebug , как показано ниже:
- Отредактируйте код и замените его следующим путем, как показано выше:
- Теперь откройте командную строку, как показано ниже:
- Теперь поменяйте местоположение на местоположение вашей папки XAMPP:
- Теперь перейдите в структуру папок через командную строку, как показано ниже:
- Теперь перейдите в папку htdocs , расположенную в папке xampp , и создайте папку с именем demoyii .
- Теперь откройте файл с именем yiic.bat из расположения xamppframework , как показано ниже:
- Откройте файл yiic.bat , который можно просмотреть следующим образом:
- Теперь отредактируйте строку выше, как показано:
- Теперь мы настроили наш php с фреймворком Yii . Итак, теперь мы можем запустить нашу команду через командную строку, которую мы оставили на шаге 18
- Теперь для запуска нашего приложения через yii следующий синтаксис:
yiic webapp , а затем местоположение папки, в которой вы хотите создать приложение - Он автоматически создаст MVC для пользователя, как показано ниже:
- Теперь запустите сервер XAMMP и перейдите по адресу localhost / demoyii
- Будет отображена следующая веб-страница:
- Таким образом, с помощью Yii framework мы можем автоматически создавать макет нашего веб-приложения.
Например:
yiic webapp E: xampphtdocsdemoyii