#php #laravel
#php #laravel
Вопрос:
Для моего родителя я объявил:
use AppModelsUser as MyUser;
class MyParentController extends MyChildController
Но как я могу получить доступ MyUser
к моему дочернему расширенному классу?
Я пробовал $this->
и parent::
безуспешно.
Комментарии:
1.
MyUser::something()
? Мне неясно, что именно вы здесь хотите, не могли бы вы уточнить свой вопрос.2. Я просто хочу получить доступ к
MyUser
модели вMyChildController
3. Вам нужно будет включить
use AppModelsUser as MyUser;
вMyChildController
, если вы хотите использовать в одном из его методов.4. @AlbertoGuilherme хорошо, если это так, он должен быть динамическим для родительского, лучший способ сделать его динамическим для родительского и ссылаться на него для дочернего?
5. @panthro Я опубликовал ответ, посмотрим, поможет ли это =)
Ответ №1:
Зависит от того, к чему вы пытаетесь получить доступ в MyUser
Для статического метода
MyUser::methodYouWantToAccess();
Для динамического
$myUser = new MyUser();
Комментарии:
1. Статический метод в модели, я пробовал
MyUser::methodYouWantToAccess();
, но просто получаю ошибку class not found.2.Вы уверены, что путь к пользователю указан правильно «App Models User», Возможно, для уменьшения сложности попробуйте использовать его с его оригинальным именем, `
use AppModelsUser;
class MyParentController extends MyChildController
{ $var = User::method() }
3. Также убедитесь, что в вашем пользовательском классе нет синтаксических ошибок
Ответ №2:
Первым делом:
class MyParentController extends MyChildController
: это говорит о том, что MyParentController
будет наследоваться от MyChildController
.
Если вы хотите MyParentController
быть базовым контроллером, вы определите его следующим образом:
use AppModelsUser as MyUser;
class MyParentController{
$my_user = new MyUser();//You will have to instantiate the MyUser in the father class.
}
Затем на вашем дочернем контроллере вы будете использовать так:
use "Insert path to your controllers"MyParentController;
class MyChildController extends MyParentController{
//in this controller you will use like this
$my_user->methodYouWantToAccess();
}