我阅读了文档,似乎Lumen是Laravel,功能较少.我肯定错过了什么.我正在寻找Laravel和Lumen的组件和功能的比较表.有谁知道这些差异?
我正在尝试PHP微框架流明(来自Laravel).
我的第一步是查看.env.example文件并复制它以获取我的.env文件.有一个变量APP_KEY就像在Laravel中一样.现在我尝试了简单的命令php artisan key:generate来获取我的新密钥但是我遇到了以下错误消息
php -r "echo md5(uniqid()).\"\n\";"
有人知道我如何为流明生成密钥吗?
用解决方案更新
所以我找到了我最喜欢的解决方案.在命令行(Linux)上我运行的7142720170cef01171fd4af26ef17c93东西给了我这样的东西.bashrc.
如果您要更频繁地使用流明,您可能需要/home/USERNAME在您的主目录中创建一个别名nano ~/.bashrc.为此,您可以使用vi ~/.bashrc或打开文件,alias phpkey='php -r "echo md5(uniqid()).\"\n\";"'并在文件末尾复制以下别名phpkey.现在你可以使用命令.env.example,它会给你一个32个字符长的随机字符串:)
我正在尝试从视图文件中获取url参数.
我有这个网址:
http://locahost:8000/example?a=10
Run Code Online (Sandbox Code Playgroud)
和一个名为的视图文件example.blade.php.
从控制器我可以得到的参数a用$request->input('a').
有没有办法从视图中获取此类参数(无需将其从控制器传递到视图)?
好吧,我刚开始使用Lumen并且我正在尝试使用Auth,但是调用Auth :: check或Auth的任何其他函数..导致以下错误 致命错误:在供应商中找不到类'Memcached'第52行的\ illuminate\cache\MemcachedConnector.php.我不想使用之前从未使用过的Memcached.
我在.env文件中禁用它并将CACHE_DRIVER和SESSION_DRIVER设置为数组,但仍然显示相同的错误.
我决定不再使用Auth并使用会话/令牌手动处理我的身份验证,但启用MiddleWare StartSession会导致相同的错误.
$app->middleware([
// 'Illuminate\Cookie\Middleware\EncryptCookies',
// 'Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse',
'Illuminate\Session\Middleware\StartSession',
// 'Illuminate\View\Middleware\ShareErrorsFromSession',
// 'Laravel\Lumen\Http\Middleware\VerifyCsrfToken',
]);
Run Code Online (Sandbox Code Playgroud)
如果有人真的可以帮助我,我会很高兴
编辑
在框架中进行了一点深入之后,I Hard SessionManager在方法中的类中编写了会话驱动程序名称getSessionConfig
public function getSessionConfig()
{
$this->setDefaultDriver("cookie");//I added this line
return $this->app['config']['session'];
}
Run Code Online (Sandbox Code Playgroud)
它虽然有效,但不是一种好的做事方式.没有配置文件,我相信所有的配置都写在.ENV文件,但我真的不知道为什么session_driver和cache_driver默认为memecached即使在改变之后.ENV然后跑去composer dump-autoload......流明:(
编辑 这是我的.env文件
APP_ENV=local
APP_DEBUG=true
APP_KEY=SomeRandomKey!!!
APP_LOCALE=en
APP_FALLBACK_LOCALE=en
DB_CONNECTION=mysql
DB_HOST=localhost
DB_DATABASE=test
DB_USERNAME=root
DB_PASSWORD=
CACHE_DRIVER=array
SESSION_DRIVER=cookie
QUEUE_DRIVER=database
Run Code Online (Sandbox Code Playgroud)
我已经在我的bootsrap/app.php中取消注释了这一行
Dotenv::load(__DIR__.'/../');
Run Code Online (Sandbox Code Playgroud)
我的DataBase配置工作正常,因此.env文件加载得非常好.
我刚刚在Windows上安装了Lumen,不幸的是我收到以下错误:
NotFoundHttpException in Application.php line 1093:
in Application.php line 1093
at Application->handleDispatcherResponse(array('0')) in Application.php line 1063
at Application->dispatch(null) in Application.php line 1006
at Application->run() in index.php line 28
Run Code Online (Sandbox Code Playgroud)
这可能是什么问题?
我正在使用流明框架.如何将时区更改为欧洲/巴黎CEST?
我在我的.env文件中添加了一个变量:
APP_TIMEZONE=Europe/Paris
Run Code Online (Sandbox Code Playgroud)
但这不起作用.更新时区的正确方法是什么?
我正在寻找在Lumen下面添加立面的地方.
'JWTAuth' => 'Tymon\JWTAuth\Facades\JWTAuth'
Run Code Online (Sandbox Code Playgroud)
EDITED
也在哪里注册服务提供商 bootstrap\app.php
$app->register('Tymon\JWTAuth\Providers\JWTAuthServiceProvider');
Run Code Online (Sandbox Code Playgroud)
请协助.
我使用Lumen 1.0作为API项目.
我已经通过取消注释bootstrap/app.php文件中的以下行来启用Eloquent :
$app->withEloquent();
Run Code Online (Sandbox Code Playgroud)
但是,当我想用迁移创建我的第一个模型时,它会失败:
php artisan make:model Book --migration
Run Code Online (Sandbox Code Playgroud)
错误信息 :
[InvalidArgumentException]
Command "make:model" is not defined.
Did you mean one of these?
make:seeder
make:migration
Run Code Online (Sandbox Code Playgroud)
Laravel关于Eloquent的文档(http://laravel.com/docs/5.1/eloquent#defining-models).
Lumen doc(http://lumen.laravel.com/docs/installation)不包含Eloquent doc,因为它默认情况下不启用.
你有什么想法可以避免这个错误吗?
php artisan --version
Run Code Online (Sandbox Code Playgroud)
显示:
Laravel Framework version Lumen (5.1.6) (Laravel Components 5.1.*)
Run Code Online (Sandbox Code Playgroud) 我正在尝试通过命令行在我的Lumen安装中执行代码.在完整的Laravel中,我已经读过你可以通过"make:command"使用命令来实现这一点,但是Lumen似乎不支持这个命令.
反正有没有启用此命令?如果不这样,在Lumen中运行CLI代码的最佳方法是什么?
谢谢
调用null上的成员函数connection()是我在尝试在流明中使用Eloquent模型时收到的错误.
控制器功能:
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index(Request $request)
{
$employees = Employee::orderBy('first_name', 'asc')->get();
dd($employees);
$response['precontent'] = view('admin::employee.search')->render();
$response['content'] = view('admin::employee.index')
->with(['employees' => $employees])
->render();
$response['title'] = 'Employees';
return $response;
}
Run Code Online (Sandbox Code Playgroud)
模型:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Employee extends Model
{
protected $table = 'system_core.employees';
protected $fillable = [
'user_id',
'first_name',
'last_name',
'position',
'primary_address',
'secondary_address',
'phone_1',
'phone_2',
'birth_date',
'start_date',
'end_date'
];
}
Run Code Online (Sandbox Code Playgroud)
我对Laravel非常有经验,但刚开始我的第一个Lumen项目仅用于API,我不确定为什么会抛出这个错误.也许只是我的连接设置?所有查询都必须按以下方式运行吗?:
$results = app('db')->select("SELECT * FROM users"); …Run Code Online (Sandbox Code Playgroud)