Hello World!
每种语言都有自己的 “Hello World!” 示例。 在 Zephir 中, 这个介绍性示例展示了该语言的一 些重要功能。
Zephir 中的代码必须放在类中。 该语言旨在创建面向对象的库框架, 因此不允许在类之外使用代码。 此外, 还需要命名空间:
namespace Test;
/**
* This is a sample class
*/
class Hello
{
/**
* This is a sample method
*/
public function say()
{
echo "Hello World!";
}
}
编译此类后, 它将生成以下代码, 该代码由 gcc/clang/vc ++ 透明地编译:
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "php.h"
#include "php_test.h"
#include "test.h"
#include "kernel/main.h"
/**
* This is a sample class
*/
ZEPHIR_INIT_CLASS(Test_Hello) {
ZEPHIR_REGISTER_CLASS(Test, Hello, hello, test_hello_method_entry, 0);
return SUCCESS;
}
/**
* This is a sample method
*/
PHP_METHOD(Test_Hello, say) {
php_printf("%s", "Hello World!");
}
实际上, 使用 Zephir 的开发人员必须知道甚至理解 c, 这是不希望的。但是, 如果您对编译器、php 内部或 c 语言本身有任何经验, 这将使您更清楚地了解在使用 Zephir 时内部发生的情况。