Home  >  Article  >  Backend Development  >  Can I use custom functions directly?

Can I use custom functions directly?

WBOY
WBOYOriginal
2016-09-08 08:43:56906browse

<br>function myfun(a,b){

<code>return a+b;
}</code>

<code>
这个简单的自定义函数,可否不通过require的方法,将它变成一个系统内部函数?
也就是我进入php -a 后,可以直接输入 echo myfun(3,4);
python可以把自定义函数放在一个专门放置系统函数的文件夹内,
这个自定义函数就和语言本身的内置函数一样使用了, php可否做到?

@brook我这么做了
vim   /etc/php5/apache2/php.ini
auto_prehend_file=/tmp/myFun.php
vim  /etc/php5/cli/php.ini
auto_prehend_file=/tmp/myFun.php

php -a 可以导入它,但是我正式引用它的时候,报错
php -a</code>

Interactive mode enabled
function myFun(x,y){

<code>return x+y;</code>

}
php > echo myFun(3,5);
PHP Fatal error: Call to undefined function myFun() in php shell code on line 1

回复内容:

<br>function myfun(a,b){

<code>return a+b;
}</code>

<code>
这个简单的自定义函数,可否不通过require的方法,将它变成一个系统内部函数?
也就是我进入php -a 后,可以直接输入 echo myfun(3,4);
python可以把自定义函数放在一个专门放置系统函数的文件夹内,
这个自定义函数就和语言本身的内置函数一样使用了, php可否做到?

@brook我这么做了
vim   /etc/php5/apache2/php.ini
auto_prehend_file=/tmp/myFun.php
vim  /etc/php5/cli/php.ini
auto_prehend_file=/tmp/myFun.php

php -a 可以导入它,但是我正式引用它的时候,报错
php -a</code>

Interactive mode enabled
function myFun(x,y){

<code>return x+y;</code>

}
php > echo myFun(3,5);
PHP Fatal error: Call to undefined function myFun() in php shell code on line 1

Add auto_prepend_file = /path/to/you/myFun.php to your php.ini file;

PS: php -a 和网页里用的不同的 php.ini,在网页里输出 phpinfo()查看正在使用的是 php.ini 路径,添加上面的一句就行了

当然可以啦。你创建一个公共php文件,里面定义n个方法,引用好之后,掉用任意一个都可以这么写的。你可以参考tp框架里面有个common.php或者function.php方法文件。就是这么用的

  1. 专门准备一个php文件全部放这样的全局函数,

  2. 框架文件的头部 require_once 这个全局函数文件(比较灵活,且只对当前项目影响),

  3. 楼上的做法也是可以的,但除非你是一些方法每个项目都需要, 否则不推荐,并且这个文件也不建议放在项目文件夹下.

两个错误
vim /etc/php5/cli/php.ini
auto_prepend_file=/tmp/myFun.php

vim /tmp/myFun.php
function myfun($a,$b){
return $a+$b;
}

mgajnpwmdgw

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn