《前端到后台thinkPHP整站》课程学习注意事项
来源:1-1 课程简介
singwa
2016-07-26
小伙伴们在学习本课程前需要注意以下几点事项:
一、项目导入本地须知
本地开发的时候如果项目没放入localhost根目录,或者没有配
置虚拟域名访问项目的情况,这时候您的项目会存在地址引入出错的问题,从而导致页面样式以及JS加载不过来等现象(如图一)。有以下3种情况来解决:
图一
1、 将线上项目直接放入localhost根目录下,这时候的访问地址为
localhost/index.php (不推荐这种方式)
2、 本地设置虚拟域名的方式,将虚拟域名绑定到您的项目根目录
apache配置虚拟域名的方法参考:http://blog.csdn.net/tracywxh/article/details/8456512
(强烈推荐这种方式处理)
3、如果不想设置虚拟域名,那么需要修改所有的引入css/JS 地址
将上述地址进行修改,可以使用 __PUBLIC__ (public前后都是两个下划线)
二、图片上传不了的情况排查须知:
1、 先检查项目根目录下是否有upload目录
2、 查看JS文件是否引入成功
主要看看image.js文件必须在jquery.uploadify.js的后面
3、 看看控制台 返回的信息是否有图片地址
4、 上传的图片是不是太多,PHP默认支持2M以下的图片上
传。
5、查看下PHP文件是否携带了bom头(utf8-bom),如果有bom头的 需要去掉!
utf8-bom -> utf8
6、打断点调试:
echo $this->_uploadObj->getError();exit; 看看提示什么内容。
三、菜单疑问汇总
1、 当进入后台发现为一个菜单的时候,不用急,课程后面有教大家如何动态的生成左侧菜单的,初始 菜单管理栏目需要大家给一个链接地址并按您定的控制器来决定。
admin/view/index/nav.html 中修改(<a href="在这个地方添加你菜单的URL地址"> 菜单管理</a>)
四、关于地址多了m=&&的情况汇总,解决方案有2种
1、有小伙伴多次咨询为什么登陆成功后地址多了m=&& ,需要优化下thinkPHP内置U方法,优化代码如下图
代码在ThinkPHP/Common/functions.php中
2、第二个方案或者把跳转方案 $this->redirect() ,直接修改为 redirect(),重定向。
如:
redirect('/admin.php?c=login');
五、内置方法I U 等使用
课程中在接受参数的地方可以使用tp自带的I方法,在url拼接的地方可以使用U方法,小伙伴自行研究,提升自身学习能力。并且建议大家多看看tp手册,里面一些好用的知识点大家可以去品味。
六、其他问题排查
1、 断点调试,在PHP你认为存在问题的地方echo或者print_r 输出下,
看是否经过这里,一步一步排查
2、 要多去看看控制台的信息
七、项目优化点
关于项目中有几处需要优化的地方,需要小伙伴们关注下:
1、在设置admin.php的地方,之前的代码为:
$_GET['m'] = (!isset($_GET['m']) || !$_GET['m']) ? 'admin' : $_GET['m']; $_GET['c'] = (!isset($_GET['c']) || !$_GET['c']) ? 'index' : $_GET['c']; $_GET['a'] = (!isset($_GET['a']) || !$_GET['a']) ? 'index' : $_GET['a'];
通过上面的部分来控制默认定位到admin模块等,这个地方可以直接使用tp自带的知识点:
define('BIND_MODULE','Admin');//绑定到admin模块
2、在model层实例化的时候,之前的代码为(拿admin model来说):
public function __construct() { $this->_db = M('admin'); } public function getAdminByUsername($username='') { $res = $this->_db->where('username="'.$username.'"')->find(); return $res; }
如果model的类名前缀和表名的后缀不一样的时候推荐使用上面的(或者配置trueTableName属性然后在结合下面新的方法),如果都一样的情况的可以直接使用更简单的方法(在model层不需要M('admin')了,哈哈就是这么任性),新方案如下:
public function getAdminByUsername($username='') { $res = $this->where('username="'.$username.'"')->find(); return $res; }
3、JS中获取表单值内容优化点
之前代码:
var data = $("#singcms-form").serializeArray();console.log(data); postData = {}; $(data).each(function(i){ postData[this.name] = this.value; });
优化后:
var data = $("#singcms-form").serialize();
使用serialize方法更加简单方便!
4、建议把model中的throw_exception方法用E方法替换
5、关于模板文件
后台模板文件在初始代码有提供, 前端html模板在群共享里面有。
最后祝大家学习愉快!有问题随时沟通!
23回答
-
谢谢singwa老师不厌其烦的答疑解惑。这么有责任心的老师在大学里都没有多少了,期待老师下一期的课程。
822016-09-23 -
Lis丶
2016-07-26
老师辛苦了,什么是再出一个教程啊。哈哈哈
222016-12-22 -
小感冒
2016-07-26
顶一个, 老师辛苦了
212016-07-26 -
慕运维6755241
2016-11-02
<select class="form-control" name="catid">
<option value='' >全部分类</option>
<foreach name="websitemenu" item="sitenav">
<option value="{$sitenav.menu_id}" <if condition="$catid eq {$sitenav.menu_id}">selected="selected"</if>>{$sitenav.name}</option>
</foreach>
</select>这是文章列表页的栏目搜索,按照您的思路,我写这种代码,但是无法实现,请问怎样去修改?
10 -
慕小测
2018-03-29
老师,辛苦了
00 -
慕小测
2018-03-29
谢谢~
00 -
慕粉4333811
2017-06-21
老师,怎么加入课程群啊?
00 -
破晓Daybreak
2017-04-10
感谢老师的耐心回答。 温故而知新。
00 -
SunnyMlon
2017-03-30
QQ 信任登录花钱买了课却提示去绑定。花钱看不了,就这么圈钱开发功能的????
00 -
sandy96
2017-02-23
本地在 该文件夹\Application\Home\View\Index里面找到 index .html \Application\Home\View\Index
改成这样,我看老师的一开始以为改这样<link rel="stylesheet" type="text/css" href="/__PUBLIC__/css/bootstrap.min.css" >调试了一下午。。。。。。。。。。。。。。。怪我啰
正确的这个样子,home里面不要加其他CSS了就这两个,我开始还照着老师的加了一个。。。。。。怪我咯
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/bootstrap.min.css" >
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/home/main.css" >
00 -
林小笨T
2016-12-25
老师有没有前后台模版啊
012017-01-03 -
qq_Wa_13960818
2016-11-11
还不如给个静态的文件我自己来配置开发的好~
00 -
furhacker
2016-10-31
这是什么问题
012016-10-31 -
散花瞳
2016-10-07
原谅我,按照步骤更改域名后 直接GG什么都打不开了
012016-10-31 -
qq_JD梦_04013190
2016-10-06
老师,源代码下载不了吗?
00 -
qq_JD梦_04013190
2016-09-26
老师 ,源代码怎么下载不了?
00 -
慕粉301
2016-09-23
老师怎么加咱们的群啊
022016-09-23 -
BugQueen
2016-09-07
源代码下载的页面不可访问?
00 -
_小_七_
2016-08-23
老师 js里面的u方法应该怎么写? 我写url="{:U('admin/login/check')}" ,$.post(url,)它解析出错了,,,,,怎么办啊??????
00 -
_小_七_
2016-08-23
老师 js里面的u方法应该怎么写? 我写url="{:U('admin/login/check')}" ,$.post(url,)它解析出错了,,,,,怎么办啊??????
00 -
_小_七_
2016-08-22
单入口就index.php应该怎么配置 不要admin.php的
00 -
Mr慕风
2016-07-28
大赞,期待老师的tp5.0 微博~~!
00 -
90JQK
2016-07-27
谢谢~
00
相似问题