php开发初体验

本文分享了作者首次使用ThinkPHP3框架进行项目开发的经历,对比J2EE和.NET MVC,详细记录了路径配置、数据库访问、JSON处理、变量接收与赋值等常见问题及解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一次用PHP做项目,也是第一次用thinkphp3框架,和j2ee和.net mvc比起来,上手难度那是忽略不计。

下面把碰到的问题记录一下:

1、关于路径

thinkphp其实有两种访问路径

第一种是通过 appname/index.php/Module/Controller/Function

比如  localhost/app/index.php/Home/Main/main

第二种是通过 appname/Module/Controller/Controller对应的html(View)

比如  localhost/app/Home/Main/main.html

第一种是thinkphp特有的  路径都是以入口文件index.php为基准,所以类似这种__PUBLIC__  __COMMON__...全局变量是正确的。

第二种 相当于我们传统的访问模式,  路径是以你运行的文件为基准,所以那些全局变量是没用的,只能用  ../   自己返回上一级了。

 

2、关于数据库访问

表要有表前缀,代码里是不加前缀的

比如  表名 tb_car  代码里就是car
$result = M("car")->field("name,tpe")->group("name,type")->where($map)->select();

$map  是条件数组,语句相当简洁

 

3、json  数据库记录集,中文被重新编成乱码了

可以用    json_encode($result, JSON_UNESCAPED_UNICODE));

前端      JSON.parse(json)

  

4、可用I方法接收

1、echo I('get.id'); // 相当于 $_GET['id']。

2、echo I('get.name'); // 相当于 $_GET['name']。

支持默认值

1、echo I('get.id',0); // 如果不存在$_GET['id'] 则返回0。

2、echo I('get.name',''); // 如果不存在$_GET['name'] 则返回空字符串

 

5、后端  Controller.class.php     $this->assign("varName","hello");  赋值
     前端   html       {$varName}          取值

     要在   $this->display();   之前

 

 

基于Spring Boot搭建的一个多功能在线学习系统的实现细节。系统分为管理员和用户两个主要模块。管理员负责视频、文件和文章资料的管理以及系统运营维护;用户则可以进行视频播放、资料下载、参与学习论坛并享受个性化学习服务。文中重点探讨了文件下载的安全性和性能优化(如使用Resource对象避免内存溢出),积分排行榜的高效实现(采用Redis Sorted Set结构),敏感词过滤机制(利用DFA算法构建内存过滤树)以及视频播放的浏览器兼容性解决方案(通过FFmpeg调整MOOV原子位置)。此外,还提到了权限管理方面自定义动态加载器的应用,提高了系统的灵活性和易用性。 适合人群:对Spring Boot有一定了解,希望深入理解其实际应用的技术人员,尤其是从事在线教育平台开发的相关从业者。 使用场景及目标:适用于需要快速搭建稳定高效的在线学习平台的企业或团队。目标在于提供一套完整的解决方案,涵盖从资源管理到用户体验优化等多个方面,帮助开发者更好地理解和掌握Spring Boot框架的实际运用技巧。 其他说明:文中不仅提供了具体的代码示例和技术思路,还分享了许多实践经验教训,对于提高项目质量有着重要的指导意义。同时强调了安全性、性能优化等方面的重要性,确保系统能够应对大规模用户的并发访问需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值