请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

《前端到后台thinkPHP整站》课程学习注意事项

小伙伴们在学习本课程前需要注意以下几点事项:

一、项目导入本地须知

本地开发的时候如果项目没放入localhost根目录,或者没有配

置虚拟域名访问项目的情况,这时候您的项目会存在地址引入出错的问题,从而导致页面样式以及JS加载不过来等现象(如图一)。有以下3种情况来解决:

https://img1.sycdn.imooc.com/szimg//579776cd0001a89f04000264.jpg


图一

1、       将线上项目直接放入localhost根目录下,这时候的访问地址为

localhost/index.php (不推荐这种方式)

2、       本地设置虚拟域名的方式,将虚拟域名绑定到您的项目根目录

apache配置虚拟域名的方法参考:http://blog.csdn.net/tracywxh/article/details/8456512

(强烈推荐这种方式处理)

3、如果不想设置虚拟域名,那么需要修改所有的引入css/JS 地址


 https://img1.sycdn.imooc.com/szimg//579777000001ab6904480110.jpg

将上述地址进行修改,可以使用  __PUBLIC__   (public前后都是两个下划线)

 

二、图片上传不了的情况排查须知:

1、       先检查项目根目录下是否有upload目录

https://img1.sycdn.imooc.com/szimg//5797771b00018e7201530243.jpg


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>)

https://img1.sycdn.imooc.com/szimg//5797772e0001aa0800940145.jpg


四、关于地址多了m=&&的情况汇总,解决方案有2种

1、有小伙伴多次咨询为什么登陆成功后地址多了m=&& ,需要优化下thinkPHP内置U方法,优化代码如下图

代码在ThinkPHP/Common/functions.php中 

5798d934000174d005000114.jpg

5798d9340001600b05000182.jpg


2、第二个方案或者把跳转方案 $this->redirect() ,直接修改为 redirect(),重定向。

如:

redirect('/admin.php?c=login');

五、内置方法I  U 等使用

课程中在接受参数的地方可以使用tp自带的I方法,在url拼接的地方可以使用U方法,小伙伴自行研究,提升自身学习能力。并且建议大家多看看tp手册,里面一些好用的知识点大家可以去品味。


六、其他问题排查

1、       断点调试,在PHP你认为存在问题的地方echo或者print_r 输出下,

看是否经过这里,一步一步排查

2、       要多去看看控制台的信息


 

 https://img1.sycdn.imooc.com/szimg//5797775400016e4904350186.jpg

 

七、项目优化点

       关于项目中有几处需要优化的地方,需要小伙伴们关注下:

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回答

慕粉3612410 2016-07-27 10:53:05

谢谢singwa老师不厌其烦的答疑解惑。这么有责任心的老师在大学里都没有多少了,期待老师下一期的课程。

8 回复 有任何疑惑可以回复我~
  • 提问者 singwa #1
    多谢支持,下一期课程计划中...
    回复 有任何疑惑可以回复我~ 2016-07-27 12:17:14
  • 提问者 singwa #2
    非常感谢!
    回复 有任何疑惑可以回复我~ 2016-09-23 23:49:00
Lis丶 2016-07-26 22:52:41

老师辛苦了,什么是再出一个教程啊。哈哈哈

2 回复 有任何疑惑可以回复我~
  • 提问者 singwa #1
    不辛苦,应该的。课程计划中...
    回复 有任何疑惑可以回复我~ 2016-07-26 23:37:50
  • 提问者 singwa #2
    新课程快录制完毕
    回复 有任何疑惑可以回复我~ 2016-12-22 12:16:21
小感冒 2016-07-26 22:50:43

顶一个, 老师辛苦了

2 回复 有任何疑惑可以回复我~
  • 提问者 singwa #1
    应该的。祝学习愉快
    回复 有任何疑惑可以回复我~ 2016-07-26 22:51:34
慕运维6755241 2016-11-02 17:37:42

<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>

这是文章列表页的栏目搜索,按照您的思路,我写这种代码,但是无法实现,请问怎样去修改?

1 回复 有任何疑惑可以回复我~
慕小测 2018-03-29 15:01:58

老师,辛苦了

0 回复 有任何疑惑可以回复我~
慕小测 2018-03-29 15:01:10

谢谢~

0 回复 有任何疑惑可以回复我~
慕粉4333811 2017-06-21 22:54:54

老师,怎么加入课程群啊?

0 回复 有任何疑惑可以回复我~
破晓Daybreak 2017-04-10 14:28:18

感谢老师的耐心回答。 温故而知新。

0 回复 有任何疑惑可以回复我~
SunnyMlon 2017-03-30 23:33:42

QQ 信任登录花钱买了课却提示去绑定。花钱看不了,就这么圈钱开发功能的????图片加载失败图片加载失败图片加载失败图片加载失败

0 回复 有任何疑惑可以回复我~
sandy96 2017-02-23 00:22:46

本地在  该文件夹\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" >


0 回复 有任何疑惑可以回复我~
林小笨T 2016-12-25 16:14:24

老师有没有前后台模版啊

0 回复 有任何疑惑可以回复我~
  • 提问者 singwa #1
    在群共享里面有
    回复 有任何疑惑可以回复我~ 2017-01-03 18:20:53
qq_Wa_13960818 2016-11-11 19:40:06

还不如给个静态的文件我自己来配置开发的好~

0 回复 有任何疑惑可以回复我~
furhacker 2016-10-31 11:56:56

https://img1.sycdn.imooc.com/szimg//5816c0f800011c3d04740267.jpg这是什么问题

0 回复 有任何疑惑可以回复我~
  • 提问者 singwa #1
    被重定向多次啦,死循环啦…看看你代码  截图出来看看
    回复 有任何疑惑可以回复我~ 2016-10-31 12:19:02
散花瞳 2016-10-07 11:17:31

原谅我,按照步骤更改域名后 直接GG什么都打不开了

0 回复 有任何疑惑可以回复我~
  • 提问者 singwa #1
    提示什么错误
    回复 有任何疑惑可以回复我~ 2016-10-31 12:19:35
qq_JD梦_04013190 2016-10-06 21:02:29

老师,源代码下载不了吗?

0 回复 有任何疑惑可以回复我~
qq_JD梦_04013190 2016-09-26 09:24:20

老师 ,源代码怎么下载不了?

0 回复 有任何疑惑可以回复我~
慕粉301 2016-09-23 10:19:02

老师怎么加咱们的群啊

0 回复 有任何疑惑可以回复我~
  • 提问者 singwa #1
    看课程公共
    回复 有任何疑惑可以回复我~ 2016-09-23 23:48:34
  • 提问者 singwa #2
    看课程公告
    回复 有任何疑惑可以回复我~ 2016-09-23 23:48:52
BugQueen 2016-09-07 16:57:30

源代码下载的页面不可访问?

0 回复 有任何疑惑可以回复我~
_小_七_ 2016-08-23 18:14:45

老师       js里面的u方法应该怎么写? 我写url="{:U('admin/login/check')}" ,$.post(url,)它解析出错了,,,,,怎么办啊??????

0 回复 有任何疑惑可以回复我~
_小_七_ 2016-08-23 18:14:05

老师       js里面的u方法应该怎么写? 我写url="{:U('admin/login/check')}" ,$.post(url,)它解析出错了,,,,,怎么办啊??????

0 回复 有任何疑惑可以回复我~
首页上一页12下一页尾页

相似问题

登录后可查看更多问答,登录/注册

问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信