jelly:
我在研究OctoberCms时发现了这个应用场景,请先看下视频
https://octobercms.com/support/article/ob-10
作者意图扩展User这个Plugin时,不是简单的改写Plugin而是通过 extend方法,在boot里面设置好关系, 然后,在用户自己定义的Plugin里面写一些扩展Model的。。。当视频 播放到7分钟时,我看到static的应用场景。
因为这个在生活中很常见,而且laravel5.2自带的注册验证功能很容易生成,只需要加入短信验证方法,而我最近看到这个https://github.com/toplan/laravel-sms,也是基于laravel的,能否演示一下给我们看看,谢谢!
我想具体结合一些场景实现来深入学习laravel,不知可否,我觉得这个应该会很火,最好和这个easywechat SDK一起讲解,谢谢,
可惜英文不好,能帮忙
https://mattstauffer.co/blog/the-auth-scaffold-in-laravel-5-2
Route::auth() #
The auth() method is a shortcut to defining the following routes:
// Authentication Routes...
$this->get('login', 'Auth\AuthController@showLoginForm');
$this->post('login', 'Auth\AuthController@login');
$this->get('logout', 'Auth\AuthController@logout');
// Registration Routes...
$this->get('register', 'Auth\AuthController@showRegistrationForm');
$this->post('register', 'Auth\AuthController@register');
// Password Reset Routes...
$this->get('password/reset/{token?}', 'Auth\PasswordController@showResetForm');
$this->post('password/email', 'Auth\PasswordController@sendResetLinkEmail');
$this->post('password/reset', 'Auth\PasswordController@reset');
Jelly,
我看了一整天的视频,感觉还是很模糊,或者说映像不深,不过,我当我看了oop的视频后,我好像有了一点启发,我还是想和你确认一下我的理解没有错误。
所谓对象化编程,就是要求我们无论在处理任何情况的时候,都不要单单只考虑一方面应用场景。
比如我这个案例中,我虽然只是很简单的要给注册环节加上用户的微信openid,
我们可以很简单的找到这个文件的controller,加上openid,也可以写一个service provider, 也可以是一个middleware, 也可以写一个event, 就完全取决于我们是怎么看待这个需求。从什么角度看这个需求就会有不同的写法。
是不是这样?办法有很多种,但是科学的办法或者说便于未来扩展的,往往只要几种。
我在看5.2 auth结构时发现,这个middleware,我现在已经可以成功的能获得wechat.oauth我现在想把这个$user变量传给所有的auth(),请问我可以如何做,我试过route::auth()->with('user',$user);
但是,会报错。
还有一个问题是,我如何 overrid掉auth()的一些controller,我觉得应该是继承vendor中的auth类,然后创建自己新的controller然后加入自己的新的逻辑是吗?
谢谢
Route::group(['middleware' => ['web','wechat.oauth']], function () {
// $user = session('wechat.oauth_user');
Route::auth();
});
Jelly 您好,
我最近在开发一个微信基于laravel的项目,我想结合这个例子来谈一些,那首先呢我找到了wechat SDK,github 地址在这:https://github.com/overtrue/laravel-wechat
那我现在的问题是这样的,因为我在网上看了一些你录制的视频,其中,有一部涉及到service provider,我仔细的研读了一翻,我能否用自己的语言来表达我对它的理解。我指针对5.2版本。 在angular中我们也用到依赖注入,在我们的controller 中往往会用到这些service. 其实laravel也是这样,可能还存在一些我不知道的mvc框架也同样如法袍制。
回到开头,当我装好wechat的sdk后,在vendor目录中呢就会有不这个项目目录,我可以把这个目录想像成为从商店买回来了一堆积木,只不过呢,这个积木要你自己去搭,composer呢就相当于快递员而以。
于是,我的疑问产生了,我虽然知道怎么使用这个sdk了,但是呢,怎么把这个搭好,搭了科学。。我是有一些洁癖的人,不喜欢乱搭建。
我的问题也主要是指对这方面的。
如果是微信项目,很多时候呢我们会用到微信的jssdk这个东西,假如我有一个webapp那么这个app呢要求在分享的时候随时可以调取。
比如说,分享的时候我们会用到jssdk的,为了让所有的view都能调取这个.
我野蛮的将它放到/Providers/AppServiceProvider.php中,结果我很满意,所有的view在被分享时,都会成功的正确调用。见附code1:
但是接下来问题来了,我在注册页面时呢,我需要用到wechatsdk中的oauth方法去从腾讯服务器上得到用户的openid,头像,然后默认传到注册页面上。
我得知laravel5.2的php artisan make:auth 可以很方便的帮助我们创建一个注册一条龙服务,我很高兴的创建了它。但,好景不长,我又开始迷茫了,我怎么找也找不到负责写入数据的controller. 在route中,你只有看到这么简简单单的一句:
Route::group(['middleware' => 'web'], function () {
Route::auth();
Route::get('/home', 'HomeController@index');
});
我该从何下手?如何下手?我自己觉得我应该注册一个server provider是吗?这样比较科学?我应该加强哪方面的laravel基本功..谢谢,盼复
code1:
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use EasyWeChat\Foundation\Application;
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot(Application $wechat)
{
//
$js = $wechat->js;
view()->share('site_name','IRIS China board');
view()->share('js',$js);
}
/**
* Register any application services.
*
* @return void
*/
public function register()
{
//
}
}