草庐IT

$中间件

全部标签

php - Laravel auth 中间件使用了错误的数据库

在config/database.php中,我有两个连接:mysql和website。两者都连接到同一台主机,只是数据库不同。默认为mysql。我创建了一个名为SetupWebsite的中间件,它检查传入域是否存在于默认连接的数据库中。如果是,它会使用以下代码用正确的数据库填充website连接:config(['database.connections.website.database'=>$database]);然后,它将默认连接切换到网站:config(['database.default'=>'website']);我通过从数据库中检索一个仅存在于website连接中的值来验证

java - 中间件类可以用作服务层吗?

在大多数Java案例中,存在两个类:一个负责应用我的业务规则-服务层-另一个负责与我的数据库交互-Dao/Repository层。但是,在PHP案例中,我只有一个代表模型层的类。我的问题是,假设是LaravelFramework,我应该将我的业务规则放在一个独特的模型类中,还是有另一种类似于JSF的方法?我可以使用中间件类作为服务层吗? 最佳答案 老实说,您也可以在PHP中使用服务/repo层。那么发生的事情是Controller将输入传递给服务,服务决定要执行的操作。然后,服务层会在必要时调用存储库以从数据库接收条目并执行所有业务

php - 通过 auth 中间件重定向到自定义登录页面

在不生成Laravel默认身份验证Controller的情况下,我创建了自己的登录和注册Controller。我的路线是这样的登录GET/login->>SessionController@create-->name=login.createPOST/login->>SessionController@store-->name=login.store注册GET/registration->>RegistrationController@create-->name=register.createPOST/registration->>RegistrationController@stor

php - Laravel,使用中间件查找域,然后使用域行获取网站行。

我想使用一些中间件从website表中获取一行,该行在我的domains表中被引用。到目前为止,这是我的中间件:$_SERVER['HTTP_HOST']])->first();dd($domainRow->website);return$next($request);}}这是我的Domains模型,除了hasOne部分外,它工作正常:hasOne('App\Website');}}hasOne部分生成以下查询:Unknowncolumn'websites.domains_id'in'whereclause'(SQL:select*fromwebsiteswherewebsites.d

php - 正则表达式匹配字母数字,中间可能只有破折号

我已经做到了这一点:^[a-zA-Z0-9]+(?:--?[a-zA-Z0-9]+)*$但是上面的表达式并没有像我需要的那样限制长度。我需要的模式总共只能匹配5-6个字符。所以,这就是它应该如何解决的问题:safety(valid)safet-(invalid)s-a-fe(valid)-safet(invalid)s7-45(valid)s--fs(invalid)连续连字符无效。前导和尾随连字符无效。总长度(包括任何连字符)应为5-6个字符。我尝试用范围({5,6})替换我的+,但没有成功。感谢您的帮助。我尝试的另一条路线是:^[A-Z0-9][A-Z0-9-]{3,4}[A-Z0

javascript - 如何用ajax改变中间内容

我知道如何使用ajax从数据库中提取数据。使用MVC框架,我通常会向我的Controller发出POSTajax请求,该请求会调用模型并发回详细信息。但我实际上只想将html从另一个文件拉入当前文件。例如我有这样一个页面:Thisisthestartingcontentbody现在我有另一个名为blocks.php的文件,其中包含以下内容:Thisisthesecondcontent-body如何使用ajax更改此blocks.php文件的内容主体? 最佳答案 如果你使用jQuery,loadapi是个不错的选择$(".conten

php - 在 Laravel 5 的中间件网络组中获取子域

前段时间使用了Laravel5.2,但之前从未使用过子域。目前我有:Route::group(['middleware'=>['web']],function(){//Login/LogoutRoute::get('/','Auth\AuthController@getLogin');Route::get('/auth/login','Auth\AuthController@getLogin');Route::post('/auth/login','Auth\AuthController@postLogin');Route::get('/logout','Auth\AuthContro

php - Laravel 授权中间件 : Class can does not exist

我正在尝试通过中间件保护路由describedinthedoc当我点击url时,我得到:ReflectionExceptioninContainer.phpline749:Classcandoesnotexist这是来自routes.php的相关部分:Route::get('{user}/profile/edit/{type?}',['as'=>'edit','uses'=>'User\UserController@edit','middleware'=>['can:edit-user,user'],]);AuthServiceProvider.php:publicfunctionbo

php - Laravel 中间件以错误的顺序执行

我有一个仅用于ajax路由的中间件。//AjaxOnlyMiddlewareclasspublicfunctionhandle($request,Closure$next){if(!$request->ajax()){//dd('I\'m(condition)workingasexpected!');returnresponse()->view('layouts.app');}dd('Ineverwork!');return$next($request);}这是我的路线web.php//AjaxonlyroutesRoute::group(['middleware'=>'ajaxOnl

php - 在类 __construct() 中间返回是否可以接受

我知道有很多问题与此很接近。但是,我没有设法找到简单问题的答案(我不是在询问构造函数的返回值,我认为我理解构造函数应该返回什么)。是否有任何理由避免在__construct中使用return?或者这种完全可以接受的编码风格在未来不会因为return而中断:classA{protected$tristate=null;function__construct(){//Constructorreturnsinstanceofclassautomatically//noneedto`return$this`}protectedfunctionLogic(){returnrand(0,1)===