首页 / PHP / 这种写法的人当时是不是吸毒了才这么写
这种写法的人当时是不是吸毒了才这么写
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了这种写法的人当时是不是吸毒了才这么写,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2824字,纯文字阅读大概需要5分钟。
内容图文
![这种写法的人当时是不是吸毒了才这么写](/upload/InfoBanner/zyjiaocheng/204/29b5eff33a2f456bb17419640f95ed19.jpg)
回复讨论(解决方案)
原生的shopnc好像不是这样写的,可能是后来加上吧。
很正常,后补的锁
很正常,后补的锁
此锁何义?
意义在于你不执行它的一段隐藏代码(用于那个常量的定义以其他)就无法让程序执行
意义在于你不执行它的一段隐藏代码(用于那个常量的定义以其他)就无法让程序执行
从原理上说不通
理论上程序都是写好的,才发布。
我觉得没必要加上那么一段代码,又不是用户会随意访问代码,改变代码流程,我觉得完全没必要做这个判断。
理论上程序都是写好的,才发布。
我觉得没必要加上那么一段代码,又不是用户会随意访问代码,改变代码流程,我觉得完全没必要做这个判断。
这里不是有没有必要的问题,而是语法错语的问题,当然这是我目前理解,也是发这帖的原因,都语法错误了,还谈啥?
当然也可能没有错误,不过PHP手册上说的这个return的用法是在函数中,而这里的return没有用在函数中,所以错误!
我希望大家谈谈这个,而不是啥这里这么玩必不必要,再重申一遍, 这里是不是语法错误!!!!!!!!!!!!!!!!
这种写法主要是用于配置文件, 在外面可以这样写 $redisConfig = include('config.inc.php‘); 外面可以接收return的值
第一行是控制入口, 避免外部直接访问该文件
<?phpdefined('InShopNC') or exit('Access Invalid!');return $config;
怎么会是语法错呢?
defined('InShopNC') or exit('Access Invalid!');
是说,如果常量 InShopNC 没有定义,就退出程序并显示 Access Invalid!
否则 返回变量 $config
显然这个程序不能被直接访问,不然只会输出 Access Invalid!
只有在定义了常量 InShopNC 的程序链用 $x = include('config/config.ini.php'); 才能获取到已经定义过的变量 $config 的值
通常 config.ini.php 是用来定义系统初值的地方,而作者却没有这样做,显然是出于某种原因在别处定义了。zy205817 不也说 原生的shopnc好像不是这样写的 吗?
所以我说是:后补的锁
php 中的 return 可以放在任何地方,如果在函数或方法中就是结束当前函数或方法并返回值
如果在函数或方法外,就是结束当前程序文件并返回值
如果你的教科书中没有提及这一点,那么请将此书丢进茅厕里(茅厕还嫌他臭)
手册中明确的说到
如果在一个函数中调用 return 语句,将立即结束此函数的执行并将它的参数作为函数的值返回。 return 也会终止 eval() 语句或者脚本文件的执行。
下面还有很多,我不一一复制了,自己去看
return语句的妙用还真不少
defined('InShopNC') or exit('Access Invalid!');
return $config;
就是有定义过InShopNC的时候,才可以访问 $config;
如果没定义过, 后面or exit('Access Invalid!'); 就已经退出了,不会执行 return $config
所以这个文件如果直接访问是会显示Access Invalid的。
必须是由其他已经定义了InShopNc的页面才可以调用。
defined('InShopNC') or exit('Access Invalid!');
学习了 这也是一种文件权限的妙用
http://php.com/manual/zh/function.return.php
http://php.com/manual/zh/function.return.php
手册里面写了,如果是include 就返回,有什么问题,为什么会有语法错误?
内容总结
以上是互联网集市为您收集整理的这种写法的人当时是不是吸毒了才这么写全部内容,希望文章能够帮你解决这种写法的人当时是不是吸毒了才这么写所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。