我只想declare
函数没有实现。实现必须在另一个文件中。
这是可能的吗?如果可以的话,那有什么棘手的吗? 通常的做法是这样做吗?我很好奇,因为我来自C ++。
示例:
----------------- declarations.php -----------
<?php
function first($name, $age);
function second($country);
?>
----------------- implementss.php -----------
<?php
include (declarations.php);
function first($name, $age)
{
// here is the implementation
}
function second($country)
{
// here is the other implementation
}
?>
答案 0 :(得分:5)
我认为你想要的是一个界面,虽然它必须在一个类中实现。
http://php.net/manual/en/language.oop5.interfaces.php
由于PHP是一种脚本语言,您仍然必须使用include
直接引用该实现。没有像C ++这样的链接阶段。
答案 1 :(得分:1)
不,PHP没有相应的头文件,您可以在其中声明一个全局函数并在某处实现它。
正如丹尼尔所写,有类似的东西,即接口,但它们的目的是描述一个所有实现类必须遵守的接口,而不是指示“函数占位符”。
此外,PHP版本5.4不支持函数或方法重载,因此即使使用不同的参数,也不能多次声明相同的函数或方法。
答案 2 :(得分:1)
您可以使用面向对象的编程来解决这个问题吗?使用几种抽象方法的抽象类可以做得很好。
// File: MyClass.php
abstract class AbstractClass {
abstract public function first($arg);
abstract public function second($arg, $arg2);
}
// File: core.php
require_once('MyClass.php');
class MyClass extends AbstractClass {
public function first($arg) {
// implementation goes here
}
public function second($arg, $arg2) {
// implementation goes here
}
}
答案 3 :(得分:1)
PHP和C ++与此不同。 无需对您的函数进行声明和单独实现。 您必须同时执行此操作(在同一文件中声明和实现),然后在脚本中包含(include()或require_once())函数。