完成一个Laravel项目的过程
1.分析项目,找出项目的元素并进行建模(navicat 该工具还可以到处sql语句) 建立关系
2.安装Laravel(使用composer来安装,如果没有的话先安装composer)
3.配置虚拟主机(若不支持将网站根目录指定到public目录下则不要使用)
4.创建数据库设置字符集
5.配置Laravel的数据库连接信息
6.使用‘artisan’命令进行模型创建
- php artisan make:model User -m
- -m会帮我们创建数据库迁移文件
7.创建表结构,若果有关联表的话应该使用‘php artisan make:migration create_post_tag_table’创建中间表
8. 8.1运行命令来生成数据表
- php artisan migrate
8.2 填充数据
- 1.创建填充数据表的文件
- php artisan make:Seeder UserSeeder
- 2.在UserSeeder的run方法中填充数据
- public function run()
- {
- //
- $arr = [];
- for($i=0;$i<100;$i++){
- $tmp = [];
- $tmp['username'] = str_random(20);
- $tmp['email'] = str_random(8).'@163.com';
- $tmp['password'] = Hash::make('123456');
- $tmp['profile'] = '/Uploads/20190226/1551184032674823.jpg';
- $tmp['intro'] = str_random(100);
- $tmp['created_at'] = date('Y-m-d H:i:s');
- $tmp['updated_at'] = date('Y-m-d H:i:s');
- $arr[] = $tmp;
- }
- DB::table('users')->insert($arr);
- }
- 3.在DatabaseSeeder的run方法中调用UserSeeder类
- $this->call(UserSeeder::class);
- 4.执行命令填充数据
- php artisan db:seed
8.3 若修改了迁移文件,需要重新执行迁移文件时使用如下命令(该命令还可以回滚并重新运行迁移,这在需要完全重建数据库时很有用):
- php artisan migrate:refresh --seed
9.创建路由规则访问网站后台
- php artisan make:controller AdminCtroller --plain
- (--plain 不创建方法)
10.在方法中解析模板(尽量做到前后台的一个划分)
11.将目标模板的源代码复制到指定的模板中
12.将模板所需要的js,css,图片内容复制到项目的public目录下,存放至一个目录中(admins文件夹的名字不能跟路由名称重名)
13.在模板中进行路径调整,建议使用asset函数进行路径调整
14.调整404页面
15.可以使用工具格式化html代码
16.资源控制器
17.sublime 安装 laravel artisan 插件
18.将代码回推 shift+tab,后推tab
19.隐式控制器与resful控制器区别:
(1)resful 1=7
隐式 1=n
(2)resful 会自动帮我们生成方法名 更简洁一些,隐式控制器不会
(3)方法名 隐式控制器 需要在方法名前面添加 请求方法(get,post)
20.分类的规律
如果是顶级分类 则 pid 和 path都是0
如果不是顶级分类 则pid 应该是父级分类的id,path应该是(父级分类的path,父级分类的id)
21. ErrorException in 79833491d30ddd73c0a46bc7f5a36eae line 31: 这样的问题 解决方案
sublime 快捷键 ctrl+p找文件 ctrl+g 定位行数
21.1 自定义函数
- 例如:
- 自定义函数的路径为:app/Common/function.php (路径在app下课自定义位置)
- 1.在composer.json中引用(autoload后):
- "files":[
- "app/Common/function.php"
- ]
2.执行命令: composer dump-auto- 3.书写自定义方法
- <?php
- /**
- *通过分类id获取分类名称
- */
- function getCateNameByCateId($id)
- {
- if($id == 0){
- return '顶级分类';
- }
- $cate = \App\Cate::find($id);
- if(empty($cate)){
- return '无';
- }else{
- return $cate->name;
- }
- }
- ?>
- 4.调用
- {{getCateNameByCateId($cate->pid)}}
- 也可以在controller中调用
22. 方法伪造
<form action="/foo/bar" method="POST">
<input type="hidden" name="_method" value="PUT">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
</form>
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
部分功能代码:
1. 参数是否为空的条件查询
2. with('info','操作成功') 提示信息
3. 分页(带form表单提交信息,在controller中返回request)
4. 删除用户信息(包括删除头像)
17. 在sublime中安装laravel artisan 插件
按下Ctrl+Shift+P调出命令面板 ->install->laravel5
18. 将代码回推 shift+tab
19. 隐式控制器和resful的区别
1)resful 1=7
隐式 1=n
2)resful 会自动帮我们生成方法名 更加简洁一些。隐式控制器则不会
3)方法名 隐式控制器 需要在方法名前面添加 请求方式(get,post)
20. 博客系统分类的规律
如果是顶级分类 则 pid 和path都是0
如果不是顶级分类 则pid应该是父级分类的id,path应该是父级分类的path,加符集分类的id(如:0,1,4)
完成一个Laravel项目的过程的更多相关文章
- 【简书】在阿里云自带的CentOS + LAMP环境下部署一个Laravel项目
在阿里云自带的CentOS + LAMP环境下部署一个Laravel项目 作者 DonnieZero 关注 2017.07.29 22:02* 字数 2218 阅读 5556评论 3喜欢 1赞赏 1 ...
- 创建一个 Laravel 项目
创建一个 Laravel 项目,首先需要安装 Composer ,如果没有安装的参考 https://docs.phpcomposer.com/00-intro.html 一.安装 Laravel 安 ...
- 构建你人生里的第一个 Laravel 项目
安装 Laravel 安装器 composer global require "laravel/installer" 创建项目 laravel new links 检查是否安装成功 ...
- 一步一步带你构建第一个 Laravel 项目
参考链接:https://laravel-news.com/your-first-laravel-application 简介 按照以下的步骤,你会创建一个简易的链接分享网站. 安装 Laravel ...
- 创建一个vue项目的过程
创建一个vue项目: 1.首先从UI手上拿到PSD设计图,然后看设计搞的内容,需要做个大概的页面布局 2.做vue之前不许安装node,因为做vue项目要和node结合使用 3.然后安装vue脚手架: ...
- 使用composer命令创建laravel项目命令详解
composer命令创建laravel项目的命令是: composer create-project --prefer-dist laravel/laravel blog "5.2.*&qu ...
- 安装配置开源的laravel项目到本地环境
前言 从https://github.com 上down了一个laravel项目安装到本地环境的时候,其中遇到一些问题,这里梳理并记录下整个流程. git上下载项目代码,部署laravel项目的时候会 ...
- legend3---Homestead中Laravel项目502 Bad Gateway
legend3---Homestead中Laravel项目502 Bad Gateway 一.总结 一句话总结: 用查看错误日志的方法解决错误:(/var/log/nginx/.log) 1.home ...
- 推荐一个 Laravel admin 后台管理插件
如何优雅的写代码,我想是每位程序员的心声.自从15年初第一次接触 Laravel 4.2 开始,我就迷上使用 Laravel 框架了.我一直都想找个时间好好写写有关 Laravel 的使用文章,由浅入 ...
随机推荐
- InfluxDB安装和简介
InfluxDB是一个当下比较流行的时序数据库,InfluxDB使用 Go 语言编写,无需外部依赖,安装配置非常方便,适合构建大型分布式系统的监控系统. 一.InfluxDB 简介 InfluxDB ...
- KongCLI参考
Introduction Kong提供的CLI(Command Line Interface)允许您启动.停止和管理Kong实例.CLI管理您的本地节点(如当前机器上的本地节点). If you ha ...
- Director.js
Director.js 源码 // // Generated on Tue Dec 16 2014 12:13:47 GMT+0100 (CET) by Charlie Robbins, Paolo ...
- dns相关
一 用于dns, whois相关的网站 1 http://viewdns.info/iphistory 2 http://bgp.he.net/ 3 https://whois.aliyun.com/ ...
- Kubernetes及Dashboard详细安装配置(Ubuntu14.04)
前些日子部门计划搞并行开发,需要对开发及测试环境进行隔离,所以打算用kubernetes对docker容器进行版本管理,搭建了下Kubernetes集群,过程如下: 本流程使用了阿里云加速器,配置流程 ...
- ABAP笔记
ABAP程序开发,经常会遇到报表开发需求.使用ABAP的Report类型程序开发报表十分便利,用很少的代码就可以快速开发出一个报表.这种报表需求,抛开各种细枝末节,都可以归结为“三步走”:1.选择屏幕 ...
- 自制按钮图标的两种方法: image sprite和svg字体文件
用image sprite和svg字体文件这两种方法,都能够极大地减少小图形文件的数量, 从而减少服务器请求和带宽需求.提高网页的响应速度. 一.建立SVG字体文件 iconmoon 是一个在线工具, ...
- 缓存--Redis
Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorte ...
- RobotFramework + Appium 移动自动化实现
本次我们移动自动化实现路线大致是这样的: Python语言基础 —> Robot Framework测试框架 —> Android SDK和Genymotion模拟器 —> ...
- express+websocket+exec+spawn=webshell
var child_process = require('child_process'); var ws = require("nodejs-websocket"); consol ...