Импорт внешнего PHP-класса в Laravel - PullRequest
1 голос
/ 02 октября 2019

Я хочу использовать phpspellcheck в своем приложении Laravel, и я помещаю его в папку приложения, и включаю его в свой код следующим образом:

  include(app_path() .'/phpspellcheck/include.php');

        $mySpell = new SpellCheckButton();
        $mySpell->InstallationPath = "/phpspellcheck/";
        $mySpell->Fields = "ALL";
        echo $mySpell->SpellImageButton();

        $mySpell = new SpellAsYouType();
        $mySpell->InstallationPath = "/phpspellcheck/";
        $mySpell->Fields = "ALL";
        echo $mySpell->Activate();

Но теперь я получаюошибка как это:

"Class 'App\SpellCheckButton' not found"

У меня есть эти файлы в include.php:

require "core/php/engine.php";

 class SpellCheckButton extends SpellCheckInstance{
    public $CheckInSitu = false;
    public $WindowMode = "modal";  
    public $Class = "";
    public $Style = "";
    public $Image = "";
    public $ImageRollOver = "";
    public $Text = "";

Нужно ли создавать класс внутри моего App \ Http \ Controllers или мне нужноделать что-нибудь еще?

Ответы [ 3 ]

1 голос
/ 02 октября 2019

Когда вы создаете свой класс в Laravel. Следующий способ использования класса в контроллере.

Например, ваш класс внутри App\Classes.

В контроллере,

use App\Classes\Yourclass;
0 голосов
/ 02 октября 2019
  1. Создайте папку packages в корневом каталоге и добавьте пакет в другой каталог внутри этой папки. Предположим, что путь будет packages/phpspellcheck.
  2. Скажите composer, чтобы он автоматически загрузил пакет, добавив
  "autoload": {
    "psr-4": {
      "PhpSpellCheck\\":"/packages/phpspellcheck/include.php"
    }
  }
}

в ваш файл composer.json.

запустите composer dumpautoload, чтобы компоновщик сгенерировал новый файл autoload.php, включая добавленный вами класс.

Затем вы можете получить доступ к классу как PhpSpellCheck.

Другие методы хорошо объяснены здесь: https://codingexplained.com/coding/php/composer-autoloading-third-party-libraries-without-namespaces

0 голосов
/ 02 октября 2019

Если вы создали файл внутри App, тогда вы должны поместить namespace App вверху страницы.

namespace App;

Пространство имен - это концепция PHP, которая используется для создания файлов в пространстве имен (или файл в папке, написанной для той же цели), и используйте ее простым способом вместо вызова с использованием полного пути.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...