已在 github 上翻了几十页了
要在虚拟主机上部署(无法指定 public
为根目录),也需要模板功能,有木有比 thinkphp 更轻量级的?
因各种原因(个人水平问题),已排除 laravel/codeigniter/fatfree 。duckphp 我也没看懂。
感谢众多网友的回复,无法一一@了。本人年已 不惑,在机关工作。学习 php 是业余爱好,学习方式是网上的电子书和 php 手册,水平只限于使用 dedecms 之类套个模板。
最初想学习 php,是因为使用开源程序中,无法满足自己需求,而且总有种自己想成为站长的冲动,有典型的“只缺一个程序员”的幼稚想法。今年老二要上小学了,又有点自己的时间啦。尤其去年疫情期间,确实在家闲的无聊,开发开源程序的小火苗又有些升腾啊~。
我把众网友的回复都认真看了,包括推荐的框架也去 github 和 官网看了,有些确实看不懂。像 slim,在 github 上搜索 micro framework,stars 数第一,我觉得适合准程序员或者公司开发简单程序作为起点用。
综合网友回复,适合我的可能是 thinkphp。国产,文档齐全,用户多,有问题百度可能有解决方案。
最近百度到两个框架,有用过的网友可给点评下:xiuno、phpgrace。
xiuno 框架时间比较久远了,但有现成的开源论坛可供参考。phpgrace 是我刚发现的,优点是有现成的视频教程,官方开发,感觉也能看明白一些。
![]() | 1 iscraft 2021-01-28 15:29:50 +08:00 flight ? |
2 GM 2021-01-28 15:39:25 +08:00 Silex (虽然已经不维护了,但是依然觉得很好用) |
3 hwy 2021-01-28 15:46:28 +08:00 BroPHP,如果是学习用的话可以试试这个 |
![]() | 4 madpecker009 2021-01-28 15:49:20 +08:00 买服务器啊 我看着前几天阿里云的学生机不到一百多一年 |
5 Avant 2021-01-28 15:49:31 +08:00 虚拟机为啥不能指定 public 为根目录 |
![]() | 6 liuxu 2021-01-28 15:49:36 +08:00 |
7 dsnake1984 2021-01-28 15:51:50 +08:00 composer 要毛坯框架~ |
![]() | 8 lixuda 2021-01-28 16:04:17 +08:00 slim,话说 ci 还是很好用的,为什么不用 |
![]() | 9 mokeyjay 2021-01-28 16:06:16 +08:00 ![]() ThinkPHP 3.2 可能是最合适的 |
10 heybuddy 2021-01-28 16:07:39 +08:00 tp5 还可以啊,部署的问题在 tp5 文档的评论区看看,可能会有答案(评论区时有时无) |
11 oueryini 2021-01-28 16:10:58 +08:00 ci 挺好的呀 |
![]() | 12 qiayue PRO 要啥框架啊,自己写 |
![]() | 13 wfdaj OP @iscraft 这个我在看,没有数据库操作,需要自己整合一个? @GM 还是想找个正常维护的框架。 @hwy 这个我只搜索到一个 https://github.com/itxdl/brophp,但是已经 7 年没有更新了。 @liuxu 我用的是阿里云的虚拟主机,一年 58 元,没找到从哪里指定网站根目录 ,默认根目录是 htdocs/ @dsnake1984 是的,我搜索到 https://packagist.org/ 这个,水平足够的话应该能基于这些组件搭建。 @lixuda 我个人觉得,如果使用 ci4 就不如直接用 thinkphp6 了。slim 我也看了,我感觉新手不是很友好 。应该是准程序员拿来搭建项目基础的吧,像我这半路出家的,用不明白。 |
![]() | 14 R18 2021-01-28 16:17:53 +08:00 CI3,其实越轻量级的越难,自己要实现的越多。 |
16 sun522198558 2021-01-28 16:21:32 +08:00 不用框架直接写完事 |
![]() | 18 pixiaotiao 2021-01-28 16:35:44 +08:00 via Android Ci laravel |
![]() | 19 zjsxwc 2021-01-28 16:38:56 +08:00 wordpress 上直接改 |
20 Q4h7388nR28s95fa 2021-01-28 16:42:54 +08:00 花 3 天看一下基本的 mvc 框架原理,花 2 天写出基本架构,在实际项目中花 N 年慢慢打磨,你就能得到一个自己想要的轻量 PHP 框架。 |
![]() | 21 fiypig 2021-01-28 16:45:46 +08:00 via iPhone ![]() tp3.2 无脑撸就对了,文档看下,或者跟着视频撸,反正入门没有比 tp 更适合的了 |
22 helionzzz 2021-01-28 16:54:59 +08:00 学个 sf,然后自己拎几个 bundle 出来造个框架( doge |
23 fxjson 2021-01-28 17:00:48 +08:00 |
![]() | 24 wfdaj OP |
![]() | 25 KaynW 2021-01-28 17:02:21 +08:00 |
![]() | 26 learningman 2021-01-28 17:15:19 +08:00 总感觉阴阳怪气的 |
![]() | 27 lixuda 2021-01-28 17:18:14 +08:00 @wfdaj 忘记说了,ci3,适合半路,我也半路的半路,用 ci3 就感觉简单,没有对象,没有命名空间,拿来就写,或者 tp3 |
![]() | 28 wfdaj OP gitee 搜索到这两个,排名比较靠前,https://www.startmvc.com/ ,https://www.z-php.com/ ,看起来也比较简单。 |
![]() | 29 iicoder 2021-01-28 18:06:06 +08:00 轻量级的 你敢用吗?再有 如何评定是轻量级?在我看来社区的积极维护才是最正确的选择,要么就自己写 |
![]() | 30 EscYezi 2021-01-28 18:08:26 +08:00 via iPhone 想起一个很久以前用过的 speedphp,轻量到有些简陋 |
![]() | 31 jtsai 2021-01-28 19:00:39 +08:00 thinkphp 是学习成本最低的, 有更简单的框架也没有他学习资料多 |
![]() | 32 62D0oo7AxBv8qn17 2021-01-28 19:38:35 +08:00 建议 tp |
![]() | 33 mogita 2021-01-28 19:45:51 +08:00 多年前写 PHP 时用过 slim + medoo 的组合,非常轻量。 |
34 zictos 2021-01-28 19:55:45 +08:00 不用框架直接写就行,其实很多时候如果只是简单几个页面的话用框架反倒还复杂化了。后端并不难,反倒是前端比较麻烦( css 和 js 之类的写起来很麻烦)。 |
![]() | 35 to2false 2021-01-28 21:33:38 +08:00 轻量不如文档全,只要文档全啥都好说 |
36 ershisi 2021-01-28 21:52:55 +08:00 CI |
![]() | 38 xfcy 2021-01-28 22:17:04 +08:00 slim,ci3 |
![]() | 39 dvaknheo 2021-01-28 22:48:23 +08:00 感谢尝试 duckphp 。目前的 duckphp 1.2.10 版本到达稳定阶段, 如果只想完成任务的话,那就用 ci3 吧。 用 ci3 完成一两个东西 ,就能找个工作进 tp6 的组了。 跟着人做完项目,就算掌握了,下次转 laravel 这种笨重东西也不怕了 |
40 billgong 2021-01-28 22:48:26 +08:00 怎么没人推 CakePHP ?轻量到算不上,但我觉得和 CI 、Laravel 相比挺直观的,读英文的话,文档也不错。只是中文社区里 Cake 不怎么活跃的。 |
![]() | 41 ruchee 2021-01-28 22:55:41 +08:00 既然连 CI 都嫌复杂,就不用框架,直接上个 Medoo 做 ORM 就好,需要什么第三库,直接 Compoer 装,非常 Nice |
![]() | 42 baobao1270 2021-01-28 22:58:59 +08:00 <?php require(dirname(__file__)."/controllers/".$_GET["controller"].".php"); $_GET["action"](); |
![]() | 43 sorshion 2021-01-28 22:59:25 +08:00 initphp,老框架 |
44 phpfpm 2021-01-28 23:06:54 +08:00 @baobao1270 你这分分钟被爆哭的妈都不认识。 |
![]() | 45 isundust 2021-01-28 23:15:08 +08:00 via Android 试试 classcms 或者 pbootcms |
![]() | 46 zhuzhibin 2021-01-28 23:17:56 +08:00 一直用 Yii2>laravel 这两个上手还是算了 |
![]() | 47 sarices 2021-01-29 00:09:19 +08:00 跟 public 目录有什么关系啊。。。别框架了,还是先学好 php |
![]() | 48 usrlibzy 2021-01-29 01:25:47 +08:00 via Android lumen,转 laravel 也方便 |
![]() | 49 GG668v26Fd55CP5W 2021-01-29 01:36:20 +08:00 via iPhone 无法指定 public 为根目录,你需要 URL rewrite |
![]() | 50 yfwl 2021-01-29 03:11:21 +08:00 买台云服务器吧 哈哈 |
![]() | 51 yekern 2021-01-29 08:33:41 +08:00 ... wordpress 吧 随便改吧改吧, 连这么简单的框架都不能用的话, 虚拟空间不需要指定目录, 如果项目指定 public 可以改下转发规则的 |
![]() | 52 xttanwei 2021-01-29 09:47:19 +08:00 推荐 slim |
![]() | 53 tanszhe 2021-01-29 10:09:11 +08:00 https://github.com/lizhichao/one 无其他依赖,从路由、orm 所有组件代码量一共不超过 500k,若二次开发没有复杂的调用关系,可快速掌握设计原理 |
![]() | 54 TORYOI 2021-01-29 10:20:25 +08:00 不建议 tp,用于生产环境遇到过两次重大漏洞,导致服务器被入侵,以后新的项目都不考虑 tp |
55 Logtous 2021-01-29 10:32:29 +08:00 webman 考虑一下 |
![]() | 56 wmwmajie 2021-01-29 10:55:33 +08:00 ![]() 我推荐你用 yii2 如果 yii3 出了你可以考虑 3 。 不轻,但是我还是推荐,因为谁都说不好项目下面的内容会有多大多复杂不是么。 几乎包含你能用到的所有东西,而且执行效率算是目前这类大型框架中最高的了。 关键一点就是开发效率高,很高。 |
![]() | 57 limingxinleo 2021-01-29 10:59:57 +08:00 ![]() |
58 ben1024 2021-01-29 11:09:17 +08:00 slim 极度简单 thinkphp 容易上手 |
![]() | 59 guanguans 2021-01-29 11:32:01 +08:00 ![]() 推荐下自己写的微框架: www.guanguans.cn/coole |
![]() | 60 Actrace 2021-01-29 12:16:03 +08:00 ![]() 我个人会推荐直接开干,有啥需要的功能直接去 php.net 搜索所需函数即可。 无论何种编程语言,其本身的 “本质” 就是框架的一种。C 是汇编的框架,PHP 又是 C 的框架,一层套一层,目的始终是将不需要重复编写的部分隐藏起来。 因此如果你要写一个小型的项目,我是觉得不需要用什么框架,因为 PHP 本身设计时就是面向 web 的可模板化的编程语言。 大型项目考虑到代码管理的问题,有几套架构可以学习,选择合适的架构来应用,比如 MVC 之类。 |
![]() | 61 virus94 2021-01-29 13:51:46 +08:00 ThinkPHP 和 CI |
![]() | 62 Evilk 2021-01-29 14:00:03 +08:00 yaf,值得拥抱 |
![]() | 63 justin2018 2021-01-29 15:21:23 +08:00 CodeIgniter |
64 wowbaby 2021-01-29 16:51:16 +08:00 slim,yii |
65 goushenggege 2021-01-29 17:17:56 +08:00 laravel 啊;能无缝切换 tp5 以上版本开发,在国内活得下去。有市场的框架才是上手的好框架 |
![]() | 66 leewlab 2021-01-29 17:37:20 +08:00 laravel |
![]() | 67 zikkeung 2021-01-29 17:50:52 +08:00 还有人学 php ? |
![]() | 68 RickyC 2021-01-29 20:43:36 +08:00 在 tp/index.php 里 include tp/public/index.php |
![]() | 69 demen 2021-01-29 23:26:43 +08:00 CI4 吧,还是多接触些 PHP 的新版本特性 |
![]() | 70 touno 2021-01-29 23:59:13 +08:00 用现成的 typecho 程序作为框架搞吧 |
71 t6attack 2021-01-30 00:21:18 +08:00 最轻量级就是不用框架。直接写。别人框架里有你需要类库函数就抠出来,塞进自己项目里。 |
![]() | 72 restkhz 2021-01-30 00:34:50 +08:00 via Android 推荐 ci,broPHP 可以作为教材看看,但是不推荐在生产环境使用。 https://github.com/restkhz/ugly-php-blog 这是我的博客系统,自己写的 MVC 框架做的。毕竟也是学习用的,非专业,但是如果你有兴趣可以看一看代码。 |
![]() | 73 ibcker 2021-01-30 01:31:33 +08:00 可以看看低版本点的 tp |
74 hefish 2021-01-30 12:49:50 +08:00 自己 构建一个吧。 我以前写 php 都是懒得用框架。自己写了个入口 index.php ,然后解析了一下 $_GET['c']和$_GET['m'], 然后用 composer 生成好 autoload 。基本就能用了。数据库是调用的 Eloquent ORM 。 |
75 poembre 2021-01-30 14:24:48 +08:00 看到有人推荐 php MVC 那我也推荐一个自己写的 https://github.com/poembro/ngxphp 简单到几个 3-5 个类文件,几乎不叫框架 |
76 shellic 2021-01-30 15:43:46 +08:00 新手不推荐用小众的框架,因为可能会有很多坑;反而那些比较大众的框架有完备的文档,活跃的社区上手会更简单一些 |
![]() | 77 wfdaj OP 对我来说,一个人开发,需要看的东西太多,每个都只能搞清楚一点,像 html, js, jquery, php...,bootstrap 有看懂,但又出现一些 vue 之类,连 css 都需要 less 、sass...感觉简单的事情更复杂了。 可能这些对大公司协作开发才有用吧... |
78 cullen911 2021-01-31 21:54:55 +08:00 lumen? |
![]() | 79 diyisoft 2021-02-01 08:28:04 +08:00 fastadmin.net 有使用的吗? 建好表 curd 一键生成,api 一键生成,感觉还是挺方便的。没有大量数据测试,具体性能不评论。 |
82 Constantine1 2021-02-01 09:23:45 +08:00 用 laravel,laravel 虽然不轻量,但是开发轻松啊。 |
![]() | 83 Canon1014 2021-02-01 09:38:31 +08:00 希望自己不惑之年也可以像楼主一样保持学习 |
84 pinerge 2021-02-01 11:39:57 +08:00 |
![]() | 86 jqh 2021-02-04 14:04:27 +08:00 如果你是抱着学习的目的,轻量级框架首推 slim,可以试试自己从 0 开始开发一个完整的项目,这期间会学习到很多知识点。因为 slim 没有那些重量级框架封装好的组件,自己动手写过项目之后,你对一些 PHP 原生的用法也会比较清楚,这样更利于你后续使用其他框架。PHP 框架基本是个一通百通的东西,各种框架虽然看起来眼花缭乱,但其实万变不离其宗,你只要把 PHP 玩懂了学习其他框架不在话下。 如果你是选一款作为自己常用的框架,那么必须推荐 Laravel,主要原因如下: 1.Laravel 框架本身设计非常优秀(许多框架也在模仿 Laravel 的设计),日常开发的大部分常用功能都有支持,并且体验非常好,你会用得非常爽; 2.Laravel 社区很活跃,生态非常非常强大,高质量的扩展包数量远远超出其他框架,这也是非常重要的一点,能让你的日常开发如虎添翼 3.框架经过多年积累已经非常成熟稳定,版本迭代也很快,版本差异小,不像其他一些框架大版本升级就像换了个框架似的 那么 Laravel 有什么缺点没有?其实也是有的,Laravel 最为人诟病的就是性能,Laravel 的性能确实比其他框架要差一些。不过根据我多年使用 PHP 的经验来看,对于绝大部分选择 PHP 的项目,性能并不是最重要的考量要素。优化过后的 Laravel 项目整体性能并不会太差,更主要的瓶颈还是在数据库。 |
![]() | 87 jqh 2021-02-04 14:12:09 +08:00 对于楼主选的那几款例如 xiuno 、phpgrace 这样的冷门框架,我的建议是:看都不用看,完全不用浪费时间。 如果是选日常开发框架,最好别选冷门的。原因一是熟悉的人不多,团队合作中会增加很多额外的成本;二是缺少生态,出了问题只能自己爬坑,想用别人现成的扩展包就更不用想了;三是稳定性无法保证,万一开发者哪天跑路了不更新了呢? 如果是抱着学习的心态,那就更不用看了。上面已经说了,PHP 框架万变不离其宗,你把 PHP 搞懂什么框架都不在话下 |
![]() | 89 dvaknheo 2021-02-05 09:08:40 +08:00 @jqh slim 只是个路由 1.Laravel 框架本身设计非常 Java 的。 // 建议直接学习 spring 。 2.Laravel 社区很活跃,生态非常非常强大,高质量的扩展包数量远远超出其他框架 。 // 你会陷入研究不同的扩展和框架 而不是完成业务之中 3.框架经过多年积累已经非常成熟稳定 // 版本号飙得特别快。 各种版本升级的问题,不是一个人能解决的 |
![]() | 90 jqh 2021-02-05 10:55:16 +08:00 @dvaknheo 就是因为 slim 只是个路由我才推荐楼主学习,这更利于初学者熟悉掌握 PHP 的原生用法 1.其实对用户来说,框架设计来自哪个语言来自哪里并不重要,设计模式都是程序通用的。重要的是框架能不能帮助用户提高效率和产能,能不能让开发者用得爽。很明显 Laravel 在这方面做得很好。Laravel 的 api 非常人性化,简洁易懂,开发者根本不用操心太多 2.可能只有你才有这种情况,如果一个功能已经有优质的扩展包,我直接使用肯定比自己开发要更高效。难道你在业务开发中每个功能都自己花大量时间重复造轮子?这就是你所谓的“完成业务”? 当然我并不是不推崇自己造轮子,相反我认为程序员很有必要自己去造轮子,因为这是提升自己编码能力的重要途径。但绝不是在业务开发中去浪费时间精力重复造轮子,这不仅会浪费大量时间影响上线,而且会给项目带来很多不稳定因素更容易出 BUG 。如果已经有现成的、经过千万人验证可行的优质方案,那为什么要自己造轮子? 3.Laravel 版号更新快在我看来反而是优点,这说明开发团队很活跃。而且 Laravel 版本差异小,用户升级并不麻烦。并且 Laravel 很稳定,如果不是重大安全漏洞修复,用户基本可以不用理会版号更迭,根本用不着升级 |
![]() | 91 dvaknheo 2021-02-05 11:25:03 +08:00 @jqh slim 这种路由叫做舍近求远。被 Java 带过来的歪风。把 php 应该有的优点都丢了。学习笨重的 java 。 1 Laravel 做得最好的是推广。调试和学习成本也是成本。 2 嗯,让大家钉死在“Laravel 解决方案” 而不是 “PHP 解决方案”。 3 大版本号变更,会导致搜索解决方案不好搜。 我不推崇业务代码必须和框架紧密结合的框架。 |
![]() | 92 jqh 2021-02-05 12:02:15 +08:00 @dvaknheo 1.我不知道 Laravel 在国内是谁推广的怎么推广的,反正不论是谁推广,好不好用用过的人自然知道 2.Laravel 也是“PHP 解决方案”,难道生态做得好还有错了?为什么大家愿意给 Laravel 贡献轮子?这背后的原因不值得思考吗 业务代码必须和框架紧密结合的框架 这个问题没有讨论的必要,没有方法可以完全做到框架和业务完全分离,如果有那就是在业务代码中完全不使用任何框架的方法,那就等于不用框架。也别再给我说你自己研发的那个框架了,实际上就是尽量让用户别用框架的方法,让用户自己造轮子,这就等于一个砍树的放着别人现成的斧子不用,自己发明其他工具去砍树 |
![]() | 93 limingxinleo 2021-02-05 14:52:18 +08:00 推荐 Hyperf https://github.com/hyperf/hyperf 你也可以试试 nano,一个 php 文件就可以构建整个小项目的框架 https://github.com/hyperf/nano |
![]() | 94 chenzheyu 2021-02-06 16:03:36 +08:00 想学就 laravel,学得下去就是老天爷赏饭。学步下去趁早断了念头。laravel 的教程用看库的就行了。 |
![]() | 95 liKeYunKeji 2021-03-09 14:31:42 +08:00 虚拟主机可以通过伪静态实现定义 public 为根目录 |
96 zhao372716335 2021-03-14 19:49:17 +08:00 为什么学 java 的,不会自己去写个框架 玩 php 的动不动就要写个框架。 |
![]() | 97 wfdaj OP @pytth 这个我知道,但有些这样更改后会出现一些问题。 @zhao372716335 我个人觉得,php 容易入门,所以,这种自写框架的冲动可能就多。能用 java 的,可能都忙于工作了吧,没有闲情逸致了。,都用一样的框架,就越来越完善了。 像现在比较为的 php 框架 laravel,因为用户多,高质量的组件明显多于其他框架,也是一个很好的趋势。 |
98 zhao372716335 2021-03-17 08:38:43 +08:00 |
99 zhao372716335 2021-03-17 08:41:10 +08:00 |
![]() | 100 chenzheyu 2021-03-17 09:33:05 +08:00 自学主机直接用 heroku 啊,数据库免费 10000 行,自己写足够了。 |