为了账号安全,请及时绑定邮箱和手机立即绑定

【花式填坑第3期】与BAT大咖共同探讨 高性能框架ThinkPHP5.0

【花式填坑第3期】与BAT大咖共同探讨 高性能框架ThinkPHP5.0

慕女神 2017-05-09 19:13:45
上一期的“人生苦短 我用Python”的话题活动中,收到了用户的大力追捧。这归根于老师专业又耐心的为大家一一解答学习编程的问题。如今,第三期花式填坑来了,讨论的话题是ThinkPHP5.0!ThinkPHP作为为数不多的“中文PHP框架。从ThinkPHP1.0开始就备受关注,到如今已经进化到ThinkPHP5.0版本,期间收获了很多肯定。如今,较为成熟的ThinkPHP5.0版本也有了更多神奇的新特性,比如变得更加方便、更加好用,性能上得到了较大提升,只要熟练掌握技能点就可以轻松开发一套服务系统,听起来是不是充满期待?本周,我们就来聊聊关于神奇的ThinkPHP5.0。  Singwa老师的个人主页,点击可查看---------------------------------------------------------------------话题交流时间:5月12日--5月14日话题交流方式:在下方进行提问,老师会在活动期间一一给大家回复的
查看完整描述

29 回答

?
慕粉3738585

TA贡献1条经验 获得超11个赞

Singwa 老师我是您忠实的粉丝,很喜欢你的课程,请问我们这种小白如何快速的成为技术牛人呢。?希望给我一些建议
查看完整回答
11 反对 回复 2017-05-12
  • singwa
    singwa
    首先多谢您支持我的课程! 关于如何快速成为技术牛人?这个是需要时间的积累的,不能一撮而就的,我认为您可以从以下几点做好准备工作: 第一:熟练掌握PHP的基础知识 第二:学好一个框架,比如thinkphp YII等,切记一定要熟练的掌握一个框架,要非常清楚的理解框架的原理,核心。那么这方面如何去学习呢? 1、先看看框架的文档,然后边看边去操作;2、通过框架做一个实战的项目,如果前期没有项目经验的可以看看慕课网的实战课程, 3、在实战完成后,要多去看看框架的源码,这有利于您理解框架的思想,这个是很有必要去学的,在这过程当中你会对PHP有更高的认知,对你的技术当然是一个质的飞跃,前提是你需要坚持 第三:到公司后 才是您技术提升的关键因素,这个时候你必须要多去做一些项目,在项目中发现自己的不足,并且快速的去补充自己的知识,当然不能只是为了完成项目的功能,我们需要不断的挖掘新的技术方案,什么方案适合当前的项目,并且能够做到更好的优化项目的性能,这个过程当前您会成长很多 第四:多和公司的技术牛人沟通技术,从他们身上学到核心技术,这比你自学要快很多,因为有个引路人比什么都重要。 第五:到公司后建议 学习的技术有: 1、MySQL数据库优化 2、nosql知识 比如:redis mc mongodb等 3、消息队列服务:如rabbitmq kafka等 4、第三方搜索引擎服务:如elasticsearch, sphinx等 5、分布式 、负载均衡 等等 最后祝您学习愉快。
?
慕虎7231881

TA贡献1条经验 获得超11个赞

Thinkphp在国内受欢迎的原因是啥?使用简单么?

查看完整回答
11 反对 回复 2017-05-10
?
7zzz

TA贡献17条经验 获得超19个赞

老师Tp5路由分发原理是什么?求解答

查看完整回答
7 反对 回复 2017-05-10
?
zhangmin_0001

TA贡献1条经验 获得超5个赞

老师 我想问一下 tp5里面 很多地方这也可以那也可以 到底应该怎么用
查看完整回答
5 反对 回复 2017-05-10
?
qq_反向吸烟_0

TA贡献1条经验 获得超3个赞

Singwa 老师 从你的TP3到TP5我一直在看,也学的很好,是你让我知道了什么是项目,是你让我再次找到信心,感谢一路上有你的陪伴,希望以后还能继续学习你的课程
查看完整回答
3 反对 回复 2017-05-12
  • singwa
    singwa
    多谢支持,我会一如既往的做出精品课程
?
14cat

TA贡献1条经验 获得超3个赞

老师能讲一下tp5的队列吗

查看完整回答
3 反对 回复 2017-05-12
?
王晋渤

TA贡献3条经验 获得超6个赞

还有个问题就是可不可以解析一下thinkphp下面的文件结构,运行原理以及一些相关的类库介绍。

因为有时接了一些小项目,比如一个留言本或是一个订单系统,也许就用了简单的一些功能比如Db类库,模板fetch,还有一些简单的路由和配置文件之类。我意思就是把tp在进行瘦身,只用一些常用的类库。

但就是不知道,他的运行原理,哪些是基础也就是必须要有他才能运行的,比如一些不需要use的就可以删了。

之前帮别人写了一个,表单填写后入库的,就一个页面,也复制了整个框架进去,看起来就有点太大才小用了。

查看完整回答
3 反对 回复 2017-05-11
?
慕粉0057536294

TA贡献2条经验 获得超3个赞

singwa老师您的tp5课程我是购买了,但是您能否就tp5进行瘦身减少不必要的案例文件?现在都超过了100m的大小,希望老师出一份瘦身的文档、哪些能减少、哪些能删除、大概讲一下、我自己虽然瘦身过您的那份文件、但是还是有超过50m的大小
查看完整回答
2 反对 回复 2017-05-12
  • singwa
    singwa
    您好,100M的那个是后台静态资源, 其实他就是一个第三方的前端框架,课程里面有说明。 你可以根据自己的情况对不必要使用的静态页面和插件 删除。这个是不是TP5课程的重点
  • 智祥
    智祥
    换框架……
?
王晋渤

TA贡献3条经验 获得超6个赞

开发了一个商城后需要用户自己布署一个二级域名,我看手册上用路由来实现!

那么在域名解析那里是不是还要添加解析记录呢?如果都要去添加解析记录,那用户多了,那岂不是很麻烦。


查看完整回答
2 反对 回复 2017-05-11
  • singwa
    singwa
    您好,请把“商城后需要用户自己布署一个二级域名” 这种需求再描述清楚
  • 王晋渤
    王晋渤
    比如,就拿你这个多商家平台入驻来说,我注册成为商家以后。会给我生成一个二级域名,假设我的用户名是aaa,那么这个平台就会给我一个aaa.o2ocms.com的二级域名。像这样的二级域名布署,我们应怎样来做呢?
  • singwa
    singwa
    没必要每个商户开一个二级域名, 作为这种o2o的系统,每个城市开个二级域名还是挺常见的。
点击展开后面1
?
韩显成

TA贡献4条经验 获得超5个赞

laravel对比thinkphp5有哪些优点和缺点

查看完整回答
2 反对 回复 2017-05-10
?
puieg

TA贡献4条经验 获得超1个赞

请问老师,我现在的话大三下学期,现在只能基本掌握php的知识:能写一个基本的个人博客;我想请问一下老师,要是我学习tp5以及实战的话是否可以去找一个暑假实习!谢谢

查看完整回答
1 反对 回复 2017-05-15
  • singwa
    singwa
    您好,学习的话需要把之前的一些东西串起来,灵活运用,我先推荐您一个大致的方向: PHP篇 1、熟练掌握PHP的基础知识,数组、字符串、函数、面向对象 常用设计模式 2、学好一个框架,比如thinkphp YII等,切记一定要熟练的掌握一个框架,要非常清楚的理解框架的原理,核心。 3、通过框架做一个实战的项目,如果前期没有项目经验的可以看看慕课网的实战课程 - 加分篇 4、(如果时间如许的话)在实战完成后,要多去看看框架的源码,这有利于您理解框架的思想,这个是很有必要去学的,在这过程当中你会对PHP有更高的认知,对你的技术当然是一个质的飞跃,前提是你需要坚持 - 这个为加分篇 Mysql篇 1、mysql的基本用法 2、mysql常用的优化 - 加分篇 3、PHP操作mysql 4、mysql主从分离技术 - 加分篇 linux篇 1、常用的Linux一些命令 2、vim的使用 3、Linux环境下 部署和配置相关服务如nginx mysql apache等 - 加分篇 算法篇 1、常用算法掌握 - 加分篇 前端篇 1、html css js jquery 等 其他篇 1、如果时间如许 可以学学redis monogdb 消息队列服务rabbitmq或者kafka ,搜索引擎sphinx 或者 es
  • walker02
    walker02 回复 singwa
    singwa这个回复好厉害啊,一条大路就出来了,非常赞同
?
让自己发光

TA贡献2条经验 获得超1个赞

提问:thinkphp5的分页处理的时候和thinkphp3有点不一样,我用对象调用了render方法,可以分页,但是如果url地址里面有参数的时候根本在分页的地方获取不到,并且下一页的url根本没这些参数,感觉tp5好坑,这个要怎么弄呢?在线等,着急。谢谢老师!


查看完整回答
1 反对 回复 2017-05-13
  • singwa
    singwa
    您好,看到您连续提问了2条一样的内容,看来确实很着急哈, 你的用法可能用错了,您需要如下方式使用试试 $params = request()->param(); $obj->appends($params)->render() $obj就是你上面说的对象。 试试,希望能帮到您,祝您学习愉快。
?
树叶泡过的水

TA贡献1条经验 获得超1个赞

我在学习课程时,在使用Uploadfidy插件,老是出现路径不对的问题,不太了解Tp5路由,请问是不是和我报错有关系呢?

thinkphp与其他框架的优势是什么呢?

查看完整回答
1 反对 回复 2017-05-13
  • singwa
    singwa
    是不是提示你抛送的接口404呢? 一般这种情况您需要先定位到浏览器中接口返回的内容是什么,在response模块,tp5提示404有两个情况,第一:确实不存在这个地址, 第二:这个接口内部有错误 如果是第一个情况那么我们需要排查是不是文件名新建错了等,如果是第二个情况,那么我们就需要根据错误提示来排查了,具体排查需要根据您的错误提示来。 关于thinkphp和其他框架的优势,我个人认为tp在国内很多年了,并且有很大的用户群体,也特别的成熟,文档也非常多,关键一点是tp容易学,非常容易上手,开发效率也特别的高。 最后㊗️您学习愉快。
  • 树叶泡过的水
    树叶泡过的水 回复 singwa
    谢谢老师的指点与鼓励!
?
Mr_狼先生

TA贡献1条经验 获得超1个赞

TP对原生PHP改变太大,久了之后就不会原生了,咋办啊老师

查看完整回答
1 反对 回复 2017-05-13
  • singwa
    singwa
    框架的本质是为了快速开发,用框架你不能局限的停留在会用的阶段,您还应该要去理解,怎么说呢?比如你使用tp5的input方法,你看看文档就会使用,但是我们需要理解input方法的工作原理,这个时候就需要您阅读他的源码了,同样的道理其他的也一样,所以要想学好一门框架必须要通读里面的源码,看看框架的工作原理以及核心,这样您才能够更好的理解框架,并且您也可以优化框架本身的内容,所以这样您就不会产生 不会原生的了。最后祝你学习愉快
?
橙橙同学爱编程

TA贡献1条经验 获得超1个赞

singwa老师 tp5在缓存上的支持怎么样 如何能在这个框架的基础上完成队列机制?

查看完整回答
1 反对 回复 2017-05-13
  • singwa
    singwa
    您好,静态缓存(生成在runtime里面的静态文件)在tp5中可以使用助手函数cache来操作,但如果需要使用更高级的缓存的话,比如redis,这个时候需要我们在服务器中安装redis的服务,然后开启扩展(window:redis.dll, linux:redis.so),并且还需要写一个PHP操作redis的类库文件放入tp5中,这样我们才能方便和高效的使用redis缓存。 关于队列的话也是需要我们学一套服务的,比如rabbitmq或者kafka,同理也需要我们安装这个服务,就拿rabbitmq来说,我们先在服务器上安装rabbitmq, 然后官网提供了PHP操作rabbitmq的类库,我们可以把这种类库放入tp5的extends目录下,当然需要修改为适配TP5的类库文件, 这样我们就可以操作队列了。最后祝您学习愉快,有问题欢迎随时沟通。
?
G_Ling

TA贡献1条经验 获得超1个赞

ThinkPHP 要怎么学习呢?求解

查看完整回答
1 反对 回复 2017-05-12
  • singwa
    singwa
    您好,可以从以下几个维度来学 1、首先您需要有PHP基础,需要了解PHP面向对象 ,mvc等基础知识 2、学习tp的基础知识 可以从tp官网的文档入手,里面有一些基础的用法,边看边去操作,这样有利于加深理解,最基本的知识点比如入口文件,配置文件,控制器、模型、视图层、基础类库,helper.php里面的公用方法等等,这些最基本的需要掌握。 3、做一套tp的实战项目 这样才能将实战项目和框架紧密联系在一起,有利于您深入学习TP 4、tp的进阶就是需要您通读tp里面的源码。
?
慕粉0958041534

TA贡献1条经验 获得超1个赞

老师谈下tp单元测试这块
查看完整回答
1 反对 回复 2017-05-12
  • singwa
    singwa
    您好,tp5的单元测试需要依赖很多库首先你需要下载这些依赖的类库文件,可以通过composer安装,命令如下: composer require topthink/think-testing,这个时候在根目录会多了一个tests目录,那么可以在这个目录下编写您的单元测试文件,您可以新建一个测试用例类 在tests目录下新建一个IndexTest.php的测试用例类,并在其中键入一下的代码: <?php namespace tests; class IndexTest extends TestCase { public function testTest() { $this->visit('/index/index/test')->see('test singwa'); } } 该用例是继承tp5单元测试扩展类TestCase的。它提供了多个用于支持tp进行单元测试的方法。如visit方法是接受一个作为URI的参数模拟向TP框架中的某个测试发起请求。而see方法则是断言输出的结果是否符合一个正则表达式,其中第一个参数为要匹配的正则表达式,第二个参数的值为true时断言正则表达式不出现在结果中,为false时断言正则表达式出现在结果中,默认为false。 然后在根目录下执行命令:php think unit 再看看控制台的运行结果: 在结果的最后一行中,显示OK,说明所有的测试用例都测试通过了。。
?
王晋渤

TA贡献3条经验 获得超6个赞

提问是在这里提问吗还是在哪里?
查看完整回答
1 反对 回复 2017-05-11
  • 慕女神
    慕女神
    在这个活动页里提问就可以啦
  • singwa
    singwa
    您好,在这里提问。老师会集中一个时间段来回复您的问题。
?
野生码农在线co腚

TA贡献134条经验 获得超63个赞

可以问关于求职类的问题吗

查看完整回答
1 反对 回复 2017-05-09
  • 起名困难户
    起名困难户
    应该可以吧,反正看老师的经验应该相当丰富啊
  • 慕女神
    慕女神
    大家可以先在评论区提问,老师会在活动开始一一为大家解答
  • singwa
    singwa
    您好,您有什么求职类的问题呢?
点击展开后面4
首页上一页12下一页尾页
  • 29 回答
  • 15 关注
  • 10239 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信