Читая ваш пакет, я вижу там некоторые проблемы:
- На composer.json вы определяете PSR-4 автозагрузку для
jainam\\basicFunctions
с root на src
этопочти верно, за исключением того, что пространство имен не соответствует PSR-4.Чтобы исправить это, используйте UpperCamelCase вместо lowerCamelCase.( Camel Case wiki - Ваш
basicFunctions.php
также должен быть в UpperCamelCase. - Ваш
basicFunctions.php
должен использовать пространство имен, которое вы определили в composer.json
. - Ваш класс
basicFuncions
на самом деле является контроллером, поэтому позвоните правильно: LoginController
или что-нибудь, что что-то значит.
Исправлено, теперь вы можете использовать контроллер, который вы определили в двухспособы:
Непосредственное объявление маршрута для него
Если этот контроллер в вашем пакете завершен и не требует каких-либо дополнительных методов, вы можете просто объявить некоторые маршруты с помощью вашего контроллера на вашем routes\web.php
файл, например:
Route::post('login', ['uses'=>'\Jainam\BasicFunctions\LoginController@login'])
Расширение вашего контроллера
Если вам нужно добавить методы или настроить методы для вашего контроллера, вы можете расширить его внутри своего проекта Laravel, создав собственную версиюLoginController:
<?php
namespace App\Http\Controllers
use Jainam\BasicFunctions\LoginController as BaseLoginController // Must import that class with an alias if using same name on your class
class LoginController extends BaseLoginController {
// Extend wanted methods here, or add new ones.
}
И в вашем файле routes\web.php
вам просто нужно удалить это пространство имен:
Route::post('login', ['uses'=>'LoginController@login'])
Надеюсь, это поможет вам, я пишу с мобильного.
Также проверьте на Шаблон комментариев PhpDoc и рассмотрите возможность его использования.