Zemit CMS 核心库

资助包维护!
jturbide

0.4.12 2024-09-25 20:52 UTC

README

Zemit CI Build Status Scrutinizer Code Quality Code Intelligence Status Code Coverage

Latest Stable Version Latest Unstable Version License

Daily Downloads Monthly Downloads Total Downloads

欢迎使用 Zemit Core,它是为 Phalcon PHP 框架设计的创新增强工具,旨在加速您的网络开发流程。Zemit Core 不仅仅是一个附加组件;它是一个全面的工具集,可以改变您构建和管理网络应用程序的方式。

在核心上,Zemit Core 注重简洁、高效和可扩展性。无论是开发复杂的商业应用程序还是简单的网站,Zemit 都提供了一个强大、灵活的基础,可以适应您的需求。Zemit Core 建立在 Phalcon 之上,Phalcon 是最快的 PHP 框架之一,它利用了其性能,同时调整现有组件并引入了一系列新的功能和功能。

主要亮点

  • 丰富的服务提供者:从身份验证到资产管理,Zemit Core 通过大量的可定制服务提供者和核心功能丰富了您的开发体验。
  • 模块化架构:具有基础模块如 前端命令行界面CMS管理RESTRESTful API,Zemit 具有足够的灵活性,让您成为自己架构的指挥家,并有效地处理网络开发的各个方面。
  • 提高生产效率:通过自动化常见任务和减少重复编码,Zemit 让您专注于项目独特的方面:业务逻辑
  • 社区驱动:作为一个开源项目,Zemit 不断地随着充满活力的开发者社区的贡献而不断发展。

无论您是经验丰富的 Phalcon 开发者还是框架的新手,Zemit Core 都提供了无缝、直观的体验,让您能够快速、轻松地创建出色的网络应用程序。

让我们深入了解 Zemit Core 为您的开发之旅准备了什么!

入门指南

使用 Zemit 创建新项目

如果您想从头开始创建一个新项目,我们邀请您访问 Zemit App 仓库以获取更多信息。对于全新项目,composer create-project 非常有用,它将创建所有必要的和推荐文件以及默认配置,以节省您的时间和精力。

# Replace <new-project-name> by your project name
composer create-project zemit-cms/app <new-project-name>

将 Zemit 添加到现有项目

对于现有项目,composer require 非常有用。

composer require zemit-cms/core

就这样,您可以通过在应用程序中加载 composer 自动加载器来简单地开始使用 Zemit 类。

如果您想充分利用 Zemit,可以使用 \Zemit\Bootstrap 引导您的应用程序。以下是一个使用 \Phalcon\Autoload\Loader 实现此目的的最小示例。

// index.php
<?php

use Phalcon\Autoload\Loader;
use Zemit\Bootstrap;

$loader = new Loader();
$loader->setFiles(['vendor/autoload.php']);
$loader->setNamespaces(['MyApp' => 'src/']);
$loader->register();

echo (new Bootstrap())->run();

配置

Zemit 将自动在项目根目录中查找 .env。在那里,您可以添加自己的自定义变量或设置 Zemit 本身支持的自定义变量。

添加数据库配置,注意我们使用 dotenv 加载 .env 配置。只需将 .env 文件添加到项目根目录。

# My App Config
MY_APP_VARIABLE="my-app-value"

# Example: Database Config
DATABASE_HOST=<my-db-host>
DATABASE_DBNAME=<my-db-name>
DATABASE_USERNAME=<my-db-user>
DATABASE_PASSWORD=<my-db-pass>

初始化数据库

我们使用 phalcon cli 运行并生成数据库迁移。

./vendor/bin/phalcon migration run --config=./src/Config/Migration.php --directory=./ --migrations=./src/Migrations/ --no-auto-increment --force --verbose --log-in-db

提供应用程序服务

要本地使用Zemit Core的Web MVC模块,您可以使用PHP内置的Web服务器。请注意,这个Web服务器是为了辅助应用程序开发而设计的。它也可能在测试目的或运行在受控环境中的应用程序演示中很有用。它不是一个功能齐全的Web服务器。

php -S 0.0.0.0:8000 /public/index.php

现在您应该可以从https://:8000访问Zemit Core前端模块

这个Web服务器只运行一个单线程进程,因此如果请求被阻塞,PHP应用程序将会停滞。有关CLI SAPI内置Web服务器的更多信息,请参阅官方文档:https://php.ac.cn/manual/en/features.commandline.webserver.php

功能齐全的Web服务器

如果您想将应用程序公之于众的全球互联网,您可以使用apache、nginx或任何类似的生产级Web服务器。

您需要一个Web服务器服务来指向新项目中的/public/文件夹。以下是一个使用Redhat上remi仓库的apache 2.4 + php-fpm 8.2的虚拟主机示例。

<VirtualHost *:80>
    ServerName domain.tld
    ServerAlias www.domain.tld
    DocumentRoot /mnt/hgfs/dev/zemit/core/public/
    
    <Directory /mnt/hgfs/dev/zemit/core/public/>
        Options -Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>
    
    <FilesMatch \.(php|phar)$>
        SetHandler "proxy:unix:/var/opt/remi/php82/run/php-fpm/www.sock|fcgi://"
    </FilesMatch>
</VirtualHost>

<VirtualHost *:443>
    ServerName domain.tld
    ServerAlias www.domain.tld
    DocumentRoot /mnt/hgfs/dev/zemit/core/public/
    
    <Directory /mnt/hgfs/dev/zemit/core/public/>
        Options -Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>
    
    <FilesMatch \.(php|phar)$>
        SetHandler "proxy:unix:/var/opt/remi/php82/run/php-fpm/www.sock|fcgi://"
    </FilesMatch>
    
    SetEnv HTTPS on
    SetEnv HTTP_X_FORWARDED_PROTO https
</VirtualHost>

需求

Zemit Core旨在与一组特定的技术和PHP扩展无缝工作,以确保最佳的性能和功能。

要检查和安装必要的PHP扩展以及管理Zemit的依赖项,请使用Composer

composer require zemit-cms/core

此命令将自动验证您的环境是否符合运行Zemit Core的要求,并安装任何缺失的依赖项。

满足这些要求可以确保您在使用Zemit Core时获得顺畅且高效的体验。

语言和兼容性

Zemit被构建得灵活而强大,支持广泛的技术和组件。虽然我们有某些核心要求,但您可以根据项目需求自由集成额外的工具。

  • Composer:用于管理Zemit的依赖项。Composer简化了PHP包的安装和更新过程,是管理Zemit组件的重要工具。
  • PHP >= 8.2:对于Zemit至关重要,PHP 8.2+带来了现代特性和改进的性能。
  • PhalconPHP >= 5.6.2:我们的核心框架。Phalcon的效率和丰富的功能对于Zemit的性能至关重要。
  • 数据库灵活性:虽然我们推荐使用MySQL >= 8.0,因为它具有强大的功能,但Zemit与Phalcon支持的其他数据库兼容。这种灵活性允许您选择最适合项目需求的数据库。
  • PSR标准:遵守PSR标准是强制性的,确保互操作性和标准编码实践。

此外,虽然不是强制性的,但以下内容高度推荐以增强性能和功能

  • Redis:非常适合高级缓存机制、会话存储等。
  • APCu:对于代码缓存很有用,可以减少PHP脚本的运行时间。
  • Opcache:通过存储预编译的脚本字节码来提高PHP性能。

通过利用这些技术,Zemit提供了一个可扩展、健壮的平台,用于开发Web应用程序,使您能够根据需要定制环境。

联系方式

对Zemit有任何问题、反馈或需要帮助吗?我们在这里为您服务!

  • 一般咨询和实时支持:如果您有一般性问题或需要关于Zemit的即时帮助,请随时加入我们充满活力的社区Discord。这里是实时讨论、支持和从Zemit团队和用户那里获取建议的完美场所。
  • 社区支持:加入我们的社区,在GitHub Discussions。这是一个寻求帮助、分享您的Zemit经验和与同行用户及开发团队建立联系的好地方。
  • 问题报告:遇到错误或有功能请求?请在我们的GitHub Issues页面提交详细的报告。
  • 社交媒体:关注我们的TwitterFacebook,获取最新新闻、更新和社区讨论。

您的输入和互动对Zemit的持续发展和成功至关重要。不要犹豫,随时联系我们——我们总是期待听到您的声音!

贡献

我们热烈欢迎对Zemit项目的贡献!无论您是否擅长编码、文档、设计或测试,您的贡献都能产生重大影响。

以下是一些您可以贡献的方式

  • 代码贡献:提交错误修复、添加新功能或增强现有功能。
  • 文档:改进或更新文档,使Zemit更容易为用户使用。
  • 问题报告:报告错误或提出新想法和改进建议。
  • 社区支持:通过在我们的论坛或社交媒体渠道回答问题来帮助新用户。

要开始,请阅读我们的CONTRIBUTING.md指南。它涵盖了您需要了解的所有关于为Zemit做出贡献的信息,包括如何提交您的更改以及我们的编码标准。

加入我们,共同将Zemit打造得更加强大和用户友好的CMS!

许可

Zemit致力于开源和社区驱动的发展,自豪地采用BSD 3-Clause License许可。此许可授予您广泛的自由来使用、修改和分发软件,确保Zemit始终是一个对所有用户都开放的社区资产。

我们尊重知识产权和贡献者的努力。因此,所有使用Zemit的行为都应遵守许可证中概述的条件。

关于BSD 3-Clause License的完整条款和条件,请参阅我们的LICENSE.txt文件。

© 2017-至今,Zemit团队。保留所有权利。