2015-08-10 4 views
1

Я новичок в yii2. Я успешно извлек продвинутый шаблон zii2 zip. настроили файл db и .htaccess.404 error with unknownclass exception in yii2

О создании нового контроллера, модели и действий в контроллере и навигации по местоположению. Например: http://localhost/advanced/frontend/web/mysetofusers/signin

У меня три вопроса. 1. он говорит ошибку 404. 2. говорит UnKnownClassException - т.е. не удается найти mysetofusersController в файле frontendControllers \ mysetofusersController.php namespace missing? даже если файл находится в папке, и используется точное пространство имен. 3. Он всегда перенаправляется на страницу сайта/индекса, а не показывает mysetofusers/signin. На этот раз tehre не является исключением в отладчике Yii.

a = Также обратите внимание, что я попытался создать модели с использованием как gii, так и расширенного класса модели.

Ничто не работает. Pls поможет мне. Я застрял и не смог двигаться вперед с работой.

Спасибо :)

+0

Нужно ли начинать с расширенного шаблона? настоятельно рекомендуется начинать с основного, гораздо проще в настройке и легче учиться. Тогда, когда ваше приложение почти закончено, перемещение ваших моделей, контроллеров и компонентов в расширенную структуру будет вопросом копирования/прошлого и некоторыми дополнительными конфигурациями, которые вы до сих пор поймете их потребности. –

+0

Его нет. proj не является ни малым, и поскольку advanced имел всю структуру каталогов для backend/frontend/common, и asi планировал создать REST API, это было идеально для использования расширенного шаблона. еще не пробовал с базой. будет делать так. Однако, если у кого-то уже была эта проблема, пожалуйста, дайте мне знать решение для этого. Благодаря! – DpGp

+0

Ну, я говорю, что вам не составит труда переместить ваши файлы с базового на продвинутый шаблон на следующем шаге. Если вы подумали о том, чтобы перейти к базовому, тогда [эта ссылка может вам помочь] (http://stackoverflow.com/questions/31799470/yii2-backoffice-with-api-rest-implementation/31806478#31806478).Вот как я реструктурировал базовый шаблон для реализации REST API в папке 'api', сохраняя мою папку' web' нетронутой, у каждого есть свои * контроллеры * и * конфигурации *, и обе имеют одинаковые * * модели *. –

ответ

1

404 ошибки в Yii 2.0 обычно пришло из неправильного urlManager конфиги или сервера конфиги.

Перед созданием модуля api убедитесь, что ваше приложение REST работает после следующих the official docs. Если нет, то это, вероятно, проблема с конфигурацией сервера.

Для того, чтобы REST работать, довольно URLs должна быть включена настройка .htaccess файл (при использовании сервера Apache) следующим образом:

Options +FollowSymLinks 
IndexIgnore */* 

RewriteEngine on 

# if a directory or a file exists, use it directly 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

# otherwise forward it to index.php 
RewriteRule . index.php 

Тогда вы можете пойти на restructuring your app.

Это еще не завершено, но working repo, где вы найдете the configs я использовал для папки api и onces я использовал для web папки + два .htaccess файлов внутри каждый из двух папок.

Надеюсь, это поможет.

+0

Im пытается это. Не могли бы вы сказать мне, что необходимо запустить команду curl, указанную в «официальных документах». Если да, то как я могу проверить. Я использую ОС Windows. и я вижу, что там есть символ $. Это единственный способ проверить, работает ли приложение для остальных? Pls несут как совершенно новое для концепции REST yii. – DpGp

+0

Нет, команда curl - это всего лишь один из способов проверки службы REST. Вы можете перейти непосредственно к ссылке 'http: // localhost/users' (* или любой ваш путь к проекту *) из вашего навигатора. Вы должны видеть, что ваши данные извлекаются из БД в виде выходов XML. Если вы доберетесь до вас, вы добры, вы можете начать реструктурировать свое приложение. если нет, то проверьте настройки сервера (* .htaccess *). Не забудьте добавить '' 'для множественного числа (если ваше имя модели является« автомобилем », например, ваш url должен выглядеть так: http: // [path_to_project]/cars' или, может быть,' http: // [path_to_project]/web/cars '(зависит от вашего * .htaccess * файла)) –

+0

Привет Салим :) Протестировал его .. YO !! Basic yii отлично работает. По-видимому, это из-за «enableStrictParsing» => true, изменило его на false и после установки rewrite_module и добавления .htaccess в web Rest фактически работает сейчас !! Теперь он подходит для модуля API. Престижность! – DpGp