Laravel Auth验证

laravel自带了auth类和User模型来帮助我们很方便的实现用户登陆、判断。首先,先配置一下相关参数app/config/auth.php:model 指定模型table 指定用户表protected$table='user';理由同上。可以看出,很简单甚至不用配置就能使用了,接下来看看如何使用。以后台为例,每次访问肯定需要先判断用户是否是登陆状态,在其他框架中我们一般习惯在所有控制器的父控制器中判断,也就是在laravel中的app/controllers/BaseController.php类__construct方法中:<?phpclassBaseControllerextendsController{publicfunction__construct(){if(Auth::check()==false){returnRedirect::guest('login');}}/***Setupthelayoutusedbythecontroller.**@returnvoid*/protectedfunctionsetupLayout(){if(!is...
代码星球 代码星球·2020-07-14

Laravel Eloquent get获取空的数据问题

在用laravel框架来获取数据,若数据不存在时,以为会返回空,其实不是的,其实是一个collection值,会返回如下:object(IlluminateDatabaseEloquentCollection)#191(1){["items":protected]=>array(0){}}$result=User::where('id',100)->get();当$result为空时,empty($result)是不为false的,还是有值的,如上,因此要用count($result)来验证;或者修改获取语句,改为$result=User::where('id',100)->get()->toArray();则会把$result转化为数组,这样empty($result)就有效果了。...

Laravel 使用简述

在此之前我们需要修改一些配置:app/config/app.php文件中的debug选项设置为true(注:开启开发模式,更友好的开发提示;网站运行时则关闭);app/config/database.php文件中的default选项设置为你设定的数据库;  在博客程序中,我们要创建一个新“资源”。资源是指一系列类似的对象,比如文章,人和动物。  资源可以被创建、读取、更新和删除,这些操作简称CRUD。  Laravel提供了资源控制器可以简单的建立跟资源相关的RESTful控制器。创建文章资源后,app/routes.php文件的内容新增如下:  Route::resource('articles','ArticlesController');执行$phpartisanroutes任务,会看到定义了所有标准的REST动作。输出结果中各列的意义稍后会说明。+--------+-----------------------------------+------------------+----------------------------+------------...
代码星球 代码星球·2020-07-09

Laravel 用户验证Auth::attempt fail的问题

  1.在laravel项目中,当使用Auth::attempt()用于用户验证时,Auth::attempt()会把密码通过Hash进行转换,变成一串不知啥的长字符,如果你在数据库里事先设置了明文的密码,那么它就会fail;所以你在用户注册时将密码进行Hash转换再存入数据库。  2.数据库密码字段的长度必须在60位或以上,这好像是laravel规定的,试过完全正确,不过不知道可不可以通过修改某个配置来取消这个规定或减少这个长度。请高人赐教。  3.修改目录/app/config/auth.php里的model为你的表的名称的单数大写形式,例如你的链接的表的名称是users,那么model则是User;同时table的值也要相应改;而且driver也需根据环境改变,通常为"database"。...

Laravel 目录结构分析

根目录结构整个Laravel 目录中最需要我们注意的地方,包含设置(config)、路由(routing)、MVC模型的三大模块都在这里,项目的主要代码工作都在这个目录下完成。2./bootstrap这个目录主要是用来存放所有的第三方代码,包括框架函数源码(/vendor/laravel)、插件和扩展等。5.artisan该文件其实是给php内置的服务器用的,当使用php-Slocalhost:9999server.php开启内置服务器的时候,就会使用server.php做了部分url兼容的工作,往地址栏输入:localhost:9999即可打开项目主页。而在laravel项目的目录下敲命令:phpartisanserve,会默认打开端口8000,此时输入http://localhost:8000,可打开laravel项目的主页。不过需将/app/storage设置为可读写。 Application目录结构/config/lang/storagefilters.php这个目录放MVC模型中的控制器(controller)。3./database语言目录,Larave...
代码星球 代码星球·2020-07-09

Laravel 安装

其实,laravel的安装网上给了很多方法,但是你可以直接根据laravel中国官网http://www.golaravel.com/docs/4.1/installation/给出的三种方法,选择其中一种就可以装好。本人在安装时试过第一第二种,都OK,但是也碰到一些小问题,闹闹腾腾了几个小时才搞完。1.PHP最好高于5.4的,或者你直接在安装PHP时输入命令行:sudoapt-getinstallphp5就可以了,因为低于这个版本的话,laravel无法正常显示,也就是无法出现下面这个画面。你可以在php文件里写phpinfo()这个函数,在浏览器打开就可以知道你的PHP版本了。2.记得修改app/storage/这个文件夹的权限,使其可读写3.若显示404,无法找到URL,重写打开:sudoa2enmodrewriterestart;如果你安装了最新的php5的版本,即为:5.5.16,它会帮你完整得安装上apache2,然后需在/etc/apache2/apache2.conf中修改所有的allowride为All,把denied改为granted,即可。差不多就够了...
代码星球 代码星球·2020-07-09

laravel Call to undefined method 1IlluminateDatabaseQueryBuilder::getForeignKeyName() or 1IlluminateDatabaseQueryBuilder::getQualifiedForeignKeyName()

vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/BelongsTo.php添加!!!!!!!publicfunctiongetForeignKeyName(){$segments=explode('.',$this->getQualifiedForeignKeyName());returnend($segments);}publicfunctiongetQualifiedForeignKeyName(){return$this->foreignKey;}...

laravel whereDate

今天在做日期查询,过过滤的时候,发现了一个问题,用where()语句,要求时间格式比较严格,比如你要查2017-09-23这一天的活动,你在输入框传入2017-09-23,系统会默认帮你补上后面缺少的时分秒00:00:00但是你用大于或小于去做过滤,总是不能很好的满足我们的实际需求,总有点的问题。用了whereDate(),之后,他会只精确到日,自动帮你过滤掉后面的时分秒。这样虽然把条件放大了。但是,能更好的满足我们的实际需求。...
代码星球 代码星球·2020-06-20

laravel集成Telegram Bot 机器人

1github下载 https://github.com/irazasyed/telegram-bot-sdk 或者composer用2.0版本3.0都没文档composerrequireirazasyed/telegram-bot-sdk^2.02laravel配置config/app.phpproviders数组添加TelegramBotLaravelTelegramServiceProvider::class,aliases数组添加'Telegram'=>TelegramBotLaravelFacadesTelegram::class执行命令生成config/telegram.php配置文件phpartisanvendor:publish--provider="TelegramBotLaravelTelegramServiceProvider"主要修改bot_token(随意找到telegram任何人然后输入https://telegram.me/botfather点击就可以了添加botfather然后输入/newbot他会提示你给bot命名ps:结尾为...

安装 laravel elasticsearch

安装elasticsearch和ik插件(elasticsearch的使用需要配置java环境,自行百度配置好java环境) elasticsearch集成包(包括ik中文插件)安装地址:https://github.com/medcl/elasticsearch-rtf       测试安装 启动elasticSearch:bin/elasticSearch -d      windows系统以管理员身份运行elasticsearch.bat测试是否安装成功 127.0.0.1:9200  安装ElasticSearchScoutEngine包composerrequiretamayo/laravel-scout-elastic 安装这个包的时候,顺便就会装好LaravelScout,发布一下资源phpartisanvendor:publish--provider="LaravelSco...
代码星球 代码星球·2020-06-20

Laravel 控制器 Controller

路由可以分发请求;路由中还可以引入html页面;我们可以在route/web.php中搞定一切了;但是如果把业务逻辑都写入到路由中;那路由将庞大的难以维护;于是控制器就有了很明显的存在价值;把业务逻辑写在控制器中;路由只负责转发请求到指定的控制器即可; 我们可以直接使用Laravel内置的命令生成很多代码,例如控制器;artisan就是laravel的命令行接口;就是根目录下的artisan文件;下面来使用命令创建一个控制器phpartisanmake:controllerArticleController运行完成后会生成一个app/Http/Controllers/ArticleController.php文件   接下来就需要在新创建的控制器中写各种方法,但是,只要在刚刚的命令中加入一个参数就可以自动生成一些方法phpartisanmake:controllerArticleController--resource如果直接运行的话是会报错的;提示 Controlleralreadyexists!;因为我们刚已经创建过ArticleC...
代码星球 代码星球·2020-06-19

Laravel 路由

在网络成为吃住一样的基本需求的今天;断开了网络就像断开了与世界的联系的感觉;对于现实中的路由我们应该是不陌生的;最起码了解wifi吧;你家里只有一根网线;网线上接着wifi路由器;多部手机和电脑就可以通过wifi上网了;路由器起到了一个分发的作用;  我们访问项目的时候;请求首先到达public/index.php入口文件;可以把index.php类比成网线;route/web.php类比成路由器设备;controller控制器类比成多部手机设备;有些框架的路由是自动绑定控制器的;创建了控制器;路由也就自动有了;laravel的每一个路由是需要手动定义的;很多童鞋会觉得这样很繁琐;当年我也觉得麻烦;还专门研究了自动绑定控制器的方法;不过我并不会把方案写出来误导大家;因为手动定义这种解耦的方式有它的好处;以后重构项目路由的时候就简单方便多了;定义一条路由也就秒秒钟的事;不必纠结;打开web.php;我们可以看到这样的代码; 我们来解析下;Route 是一个类;访问类的静态方法是用 ::的形式;那么get 就是Route类的一个静...
代码星球 代码星球·2020-06-19

使用 Laravel 自带的用户系统 包括登录注册功能以及错误处理

   phpartisanmake:auth  安装完成后重新刷新页面就可以到登录注册按钮了     四、可能遇到的问题1.当在注册页面点击注册时,一般会报如下错误,如果你没动过任何配置的话,SQLSTATE[HY000][1045]Accessdeniedforuser'homestead'@'localhost'(usingpassword:YES)(SQL:selectcount(*)asaggregatefromuserswhereemail=xxxxxx@gmail.com) 解决方法:需要到根目录下修改.env文件  修改MySQL对应的配置参数DB_CONNECTION=mysqlDB_HOST=127.0.0.1DB_PORT=3306DB_DATABASE=homesteadDB_USERNAME=homesteadDB_PASSWORD=secret修改完成后,记得清空laravel的缓存phpartisanconfig:cache&nb...

MacOS Laravel 安装教程

根据个人的喜好选择安装的版本,我选择的是5.8https://laravel.com/docs/5.8/installation以下是Laravel5.8的安装环境要求 需要确保满足以上条件 composer由于中国的网络防火墙问题,所以使用官网的正常操作会很慢,大概下载一次需要15以上,可以通过以下方式安装composer中文镜像,加快composer的速度https://pkg.phpcomposer.com/  修改当前项目的 composer.json 配置文件: 打开命令行窗口(windows用户)或控制台(Linux、Mac用户),进入你的项目的根目录(也就是 composer.json 文件所在目录),执行如下命令:composerconfigrepo.packagistcomposerhttps://packagist.phpcomposer.com上述命令将会在当前项目中的 composer.json 文件的末尾自动添加镜像的配置信息(你也可以自己手工添加):...
代码星球 代码星球·2020-06-19

Laravel 入门常见问题汇总

  解决方法:Laravel利用PHP5.4的新特性 trait 内置了非常完善好用的简单用户登录注册功能,适合一些不需要复杂用户权限管理的系统,例如公司内部用的简单管理系统。激活这个功能非常容易,运行以下命令:phpartisanmake:auth但是又遇到下面的问题,提示没有这个命令   由于这个功能是Laravel5.2版本的,所以得更新你的版本,重新安装5.2.*版本的Laravelcomposercreate-project--prefer-distlaravel/laravelblog"5.2.*"   报错一  IlluminateDatabaseQueryException :SQLSTATE[HY000][1045]Accessdeniedforuser'root'@'localhost'(usingpassword:YES)(SQL:select*frominformation_schema.tableswheretable_schema...
首页上一页...1516171819...下一页尾页