XP框架是一个通用的面向对象的PHP框架。

v12.1.0 2024-06-23 07:37 UTC

README

Build status on GitHub Build status on AppVeyor BSD License Requires PHP 7.4+ Supports PHP 8.0+ Latest Stable Version

这是XP框架的开发检出。

安装

如果您只想使用XP框架,请使用composer require xp-framework/core获取一个发布版本。如果您想使用此开发检出,请克隆此存储库。

运行者

使用XP框架编写的软件的入口点不是PHP解释器的CLI / web服务器API,而是一个命令行运行者或一个专门的web入口点。可以使用以下单行命令安装这些运行者:

$ cd ~/bin
$ curl -sSL https://baltocdn.com/xp-framework/xp-runners/distribution/downloads/i/installer/setup-8.8.0.sh | sh

使用方法

要使用XP框架开发检出,请将以下内容放入您的~/bin/xp.ini文件中

use=/path/to/xp/core

最后,运行xp -v以查看其工作

$ xp -v
XP 12.1.1-dev { PHP/8.3.10 & Zend/4.3.10 } @ Windows NT SURFACE 10.0 build 22631 (Windows 11) AMD64
Copyright (c) 2001-2024 the XP group
FileSystemCL<./src/main/php>
FileSystemCL<./src/test/php>
FileSystemCL<./src/main/resources>
FileSystemCL<./src/test/resources>
FileSystemCL<.>

基本用法

XP框架运行脚本或类。

Hello World

将以下源代码保存到名为ageindays.script.php的文件中

<?php namespace examples;

use util\{Date, Dates};
use util\cmd\Console;

$span= Dates::diff(new Date($argv[1]), Date::now());
Console::writeLine('Hey, you are ', $span->getDays(), ' days old');

现在运行它

$ xp ageindays.script.php 1977-12-14
Hey, you are 16015 days old

或者,您可以将此代码放入一个类中,并为其提供一个静态的main方法。这样,您可以使用继承、特性包含等功能。这次,将代码保存到名为AgeInDays.class.php的文件中。

<?php

use util\{Date, Dates};
use util\cmd\Console;

class AgeInDays {

  public static function main(array $args): int {
    $span= Dates::diff(new Date($args[0]), Date::now());
    Console::writeLine('Hey, you are ', $span->getDays(), ' days old');
    return 0;
  }
}

注意参数已向前移动了一个:如果您想使用类的名称,只需使用self::class即可!

$ xp AgeInDays 1977-12-14
Hey, you are 16015 days old

贡献

要贡献,请使用GitHub的方式 - 分支、修改、提交一个pull request!:octocat:

享受!