我在访问我通过终端创建的控制器时遇到问题:
php artisan make:controller Admin\TestController
Run Code Online (Sandbox Code Playgroud)
这是我创建的 TestController 类
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class TestController extends Controller
{
public function teste()
{
return 'Teste Controller';
}
}
Run Code Online (Sandbox Code Playgroud)
这是路由文件,我将在其中尝试调用该teste方法。默认情况下,正确的做法是调用 Admin 文件夹中的 TestController。
<?php
use Illuminate\Support\Facades\Route;
Route::get('/test', 'Admin\TestController@teste');
Run Code Online (Sandbox Code Playgroud)
当我更新页面时,在 Web.php 文件中,出现以下消息:
Illuminate\Contracts\Container\BindingResolutionException Target class
[Admin\TestController] does not exist.
Run Code Online (Sandbox Code Playgroud)
它仅在我放置完整目录时才有效:
<?php
use Illuminate\Support\Facades\Route;
Route::get('/test', 'App\Http\Controllers\Admin\TestController@teste');
Run Code Online (Sandbox Code Playgroud)
但由于代码更精简且易于理解,我不想放置完整的目录。
如何在不放置完整目录的情况下调用 TestController ?
我正在使用 Laravel 框架: 8.9.0
我正在使用 php: 7.2.19 (cli)
我需要在字典中检查哪个键的数据量最大:
我有以下字典布局:
dic = {
'ls1': [
'value1',
'value2',
'value3'
],
'ls2': [
'value4',
'value5',
'value6',
'value7'
],
'ls3': [
'value8',
'value9'
]
}
Run Code Online (Sandbox Code Playgroud)
我已经试过了:
item1 = dic['ls1']
item2 = dic['ls2']
item3 = dic['ls3']
if len(item1) > len(item2) and len(item1) > len(item3):
print('ls1')
elif len(item2) > len(item1) and len(item2) > len(item3):
print('ls2')
else:
print('ls3')
Run Code Online (Sandbox Code Playgroud)
但这样做并不好。还有比这更好的吗?