использование FactoryLocator не сработало, так как класс не найден с cakephp4.2

#cakephp

Вопрос:

при доступе к модели с помощью модели в cakephp 4.2 не сработал FactoryLocator команды docs.

 Class 'AppModelTableFactoryLocator' not found

use CakeORMTableLocator;  //tried this
use CakeDatasourceLocatorLocatorInterface; //tried this

class LessonsTable extends Table
 public function getTest1(){
   $clients = FactoryLocator::get('Table')->get('Clients'); //error here 



https://book.cakephp.org/4/en/orm/table-objects.html#using-the-tablelocator
https://api.cakephp.org/4.1/class-Cake.Datasource.FactoryLocator.html
 

Ответ №1:

Еще раз 😉

 use CakeDatasourceFactoryLocator; // <--------------- use this

class LessonsTable extends Table
 public function getTest1(){
   $clients = FactoryLocator::get('Table')->get('Clients');
 

Я не знаю, в каком редакторе вы пишете php-код, но я бы рекомендовал вам использовать плагины, которые будут подсказывать, какие методы php / cakephp доступны в текущем файле php.

Например, в https://code.visualstudio.com/ добавьте некоторые расширения, такие как

https://marketplace.visualstudio.com/search?term=phpamp;target=VSCodeamp;category=All categoriesamp;sortBy=Relevance

для завершения кода используйте https://marketplace.visualstudio.com/items?itemName=bmewburn.vscode-intelephense-client

Затем, когда вы вводите FactoryLo редактор «Найти класс / метод» и предлагаете вам, он также автоматически добавляет пространство имен, если оно отсутствует.

введите описание изображения здесь

Комментарии:

1. Я использую netbeans, это как-нибудь помогает? Я рассмотрю ваше предложение, но это не поможет, когда документы не проясняют подобные вещи.