getpop / site
Requires
- php: ^8.1
- getpop/application: ^1.0.6
- getpop/definitions-base36: ^1.0.6
- getpop/resourceloader: ^1.0.6
Requires (Dev)
- phpstan/phpstan: ^1.8
- phpunit/phpunit: ^10.2
- rector/rector: ^0.18
- squizlabs/php_codesniffer: ^3.6
Conflicts
- gatographql/extension-demo: <1.0.6
- gatographql/external-dependency-wrappers: <1.0.6
- gatographql/gatographql: <1.0.6
- gatographql/plugin-utils: <1.0.6
- gatographql/testing-schema: <1.0.6
- getpop/access-control: <1.0.6
- getpop/application-wp: <1.0.6
- getpop/cache-control: <1.0.6
- getpop/component-model: <1.0.6
- getpop/component-model-configuration: <1.0.6
- getpop/componentrouting: <1.0.6
- getpop/definitionpersistence: <1.0.6
- getpop/definitions: <1.0.6
- getpop/definitions-emoji: <1.0.6
- getpop/dom-crawler: <1.0.6
- getpop/engine: <1.0.6
- getpop/engine-wp: <1.0.6
- getpop/engine-wp-bootloader: <1.0.6
- getpop/filestore: <1.0.6
- getpop/graphql-parser: <1.0.6
- getpop/guzzle-http: <1.0.6
- getpop/loosecontracts: <1.0.6
- getpop/mandatory-directives-by-configuration: <1.0.6
- getpop/markdown-convertor: <1.0.6
- getpop/multisite: <1.0.6
- getpop/resources: <1.0.6
- getpop/root: <1.0.6
- getpop/root-wp: <1.0.6
- getpop/site-builder-api: <1.0.6
- getpop/site-wp: <1.0.6
- getpop/spa: <1.0.6
- getpop/static-site-generator: <1.0.6
- graphql-by-pop/graphiql: <1.0.6
- graphql-by-pop/graphql-clients-for-wp: <1.0.6
- graphql-by-pop/graphql-endpoint-for-wp: <1.0.6
- graphql-by-pop/graphql-request: <1.0.6
- graphql-by-pop/graphql-server: <1.0.6
- graphql-by-pop/graphql-voyager: <1.0.6
- phpunit-for-gatographql/dummy-schema: <1.0.6
- phpunit-for-gatographql/dummy-wp-schema: <1.0.6
- phpunit-for-gatographql/gatographql: <1.0.6
- phpunit-for-gatographql/gatographql-testing: <1.0.6
- phpunit-for-gatographql/webserver-requests: <1.0.6
- phpunit-for-gatographql/wpfaker-schema: <1.0.6
- pop-api/api: <1.0.6
- pop-api/api-clients: <1.0.6
- pop-api/api-endpoints: <1.0.6
- pop-api/api-endpoints-for-wp: <1.0.6
- pop-api/api-graphql: <1.0.6
- pop-api/api-mirrorquery: <1.0.6
- pop-api/api-rest: <1.0.6
- pop-backbone/php-hooks: <1.0.6
- pop-backbone/wp-data-parser: <1.0.6
- pop-cms-schema/categories: <1.0.6
- pop-cms-schema/categories-wp: <1.0.6
- pop-cms-schema/comment-mutations: <1.0.6
- pop-cms-schema/comment-mutations-wp: <1.0.6
- pop-cms-schema/commentmeta: <1.0.6
- pop-cms-schema/commentmeta-wp: <1.0.6
- pop-cms-schema/comments: <1.0.6
- pop-cms-schema/comments-wp: <1.0.6
- pop-cms-schema/custompost-categories-wp: <1.0.6
- pop-cms-schema/custompost-category-mutations: <1.0.6
- pop-cms-schema/custompost-mutations: <1.0.6
- pop-cms-schema/custompost-mutations-wp: <1.0.6
- pop-cms-schema/custompost-tag-mutations: <1.0.6
- pop-cms-schema/custompost-tags-wp: <1.0.6
- pop-cms-schema/custompost-user-mutations: <1.0.6
- pop-cms-schema/custompost-user-mutations-wp: <1.0.6
- pop-cms-schema/custompostmedia: <1.0.6
- pop-cms-schema/custompostmedia-mutations: <1.0.6
- pop-cms-schema/custompostmedia-mutations-wp: <1.0.6
- pop-cms-schema/custompostmedia-wp: <1.0.6
- pop-cms-schema/custompostmeta: <1.0.6
- pop-cms-schema/custompostmeta-wp: <1.0.6
- pop-cms-schema/customposts: <1.0.6
- pop-cms-schema/customposts-wp: <1.0.6
- pop-cms-schema/media: <1.0.6
- pop-cms-schema/media-wp: <1.0.6
- pop-cms-schema/menus: <1.0.6
- pop-cms-schema/menus-wp: <1.0.6
- pop-cms-schema/meta: <1.0.6
- pop-cms-schema/metaquery-wp: <1.0.6
- pop-cms-schema/page-mutations: <1.0.6
- pop-cms-schema/pagemedia-mutations: <1.0.6
- pop-cms-schema/pages: <1.0.6
- pop-cms-schema/pages-wp: <1.0.6
- pop-cms-schema/post-categories: <1.0.6
- pop-cms-schema/post-categories-wp: <1.0.6
- pop-cms-schema/post-category-mutations: <1.0.6
- pop-cms-schema/post-category-mutations-wp: <1.0.6
- pop-cms-schema/post-mutations: <1.0.6
- pop-cms-schema/post-tag-mutations: <1.0.6
- pop-cms-schema/post-tag-mutations-wp: <1.0.6
- pop-cms-schema/post-tags: <1.0.6
- pop-cms-schema/post-tags-wp: <1.0.6
- pop-cms-schema/postmedia-mutations: <1.0.6
- pop-cms-schema/posts: <1.0.6
- pop-cms-schema/posts-wp: <1.0.6
- pop-cms-schema/queriedobject: <1.0.6
- pop-cms-schema/queriedobject-wp: <1.0.6
- pop-cms-schema/schema-commons: <1.0.6
- pop-cms-schema/schema-commons-wp: <1.0.6
- pop-cms-schema/settings: <1.0.6
- pop-cms-schema/settings-wp: <1.0.6
- pop-cms-schema/tags: <1.0.6
- pop-cms-schema/tags-wp: <1.0.6
- pop-cms-schema/taxonomies: <1.0.6
- pop-cms-schema/taxonomies-wp: <1.0.6
- pop-cms-schema/taxonomymeta: <1.0.6
- pop-cms-schema/taxonomymeta-wp: <1.0.6
- pop-cms-schema/taxonomyquery: <1.0.6
- pop-cms-schema/taxonomyquery-wp: <1.0.6
- pop-cms-schema/user-avatars: <1.0.6
- pop-cms-schema/user-avatars-wp: <1.0.6
- pop-cms-schema/user-roles: <1.0.6
- pop-cms-schema/user-roles-wp: <1.0.6
- pop-cms-schema/user-state: <1.0.6
- pop-cms-schema/user-state-mutations: <1.0.6
- pop-cms-schema/user-state-mutations-wp: <1.0.6
- pop-cms-schema/user-state-wp: <1.0.6
- pop-cms-schema/usermeta: <1.0.6
- pop-cms-schema/usermeta-wp: <1.0.6
- pop-cms-schema/users: <1.0.6
- pop-cms-schema/users-wp: <1.0.6
- pop-schema/directive-commons: <1.0.6
- pop-schema/extended-schema-commons: <1.0.6
- pop-schema/http-requests: <1.0.6
- pop-schema/schema-commons: <1.0.6
- pop-sites-wassup/comment-mutations: <1.0.6
- pop-sites-wassup/contactus-mutations: <1.0.6
- pop-sites-wassup/contactuser-mutations: <1.0.6
- pop-sites-wassup/custompost-mutations: <1.0.6
- pop-sites-wassup/custompostlink-mutations: <1.0.6
- pop-sites-wassup/flag-mutations: <1.0.6
- pop-sites-wassup/form-mutations: <1.0.6
- pop-sites-wassup/gravityforms-mutations: <1.0.6
- pop-sites-wassup/highlight-mutations: <1.0.6
- pop-sites-wassup/newsletter-mutations: <1.0.6
- pop-sites-wassup/notification-mutations: <1.0.6
- pop-sites-wassup/post-mutations: <1.0.6
- pop-sites-wassup/postlink-mutations: <1.0.6
- pop-sites-wassup/share-mutations: <1.0.6
- pop-sites-wassup/socialnetwork-mutations: <1.0.6
- pop-sites-wassup/stance-mutations: <1.0.6
- pop-sites-wassup/system-mutations: <1.0.6
- pop-sites-wassup/user-state-mutations: <1.0.6
- pop-sites-wassup/volunteer-mutations: <1.0.6
- pop-wp-schema/block-content-parser: <1.0.6
- pop-wp-schema/block-metadata-for-wp: <1.0.6
- pop-wp-schema/blocks: <1.0.6
- pop-wp-schema/commentmeta: <1.0.6
- pop-wp-schema/comments: <1.0.6
- pop-wp-schema/custompostmeta: <1.0.6
- pop-wp-schema/customposts: <1.0.6
- pop-wp-schema/media: <1.0.6
- pop-wp-schema/menus: <1.0.6
- pop-wp-schema/meta: <1.0.6
- pop-wp-schema/pages: <1.0.6
- pop-wp-schema/posts: <1.0.6
- pop-wp-schema/schema-commons: <1.0.6
- pop-wp-schema/taxonomymeta: <1.0.6
- pop-wp-schema/usermeta: <1.0.6
- pop-wp-schema/users: <1.0.6
This package is auto-updated.
Last update: 2024-09-07 11:41:53 UTC
README
创建一个基于组件的网站
安装
通过 Composer
composer require getpop/site
开发
源代码托管在 GatoGraphQL monorepo,位于 SiteBuilder/packages/site
下。
使用
初始化组件
\PoP\Root\App::stockAndInitializeModuleClasses([([ \PoP\Site\Module::class, ]);
架构基础
布局通过自定义构建的响应性渲染,基于观察一个独特的 JavaScript 对象(其中包含数据库和配置数据)。
视图通过 Handlebars 模板实现,这些模板可以在客户端(通过 Handlebars 运行时)和服务器(通过 PHP 库 LightnCandy)中加载。这种方法是同构的:相同的代码可以在两个环境中运行。
实现即将推出。
主要概念
通过 JavaScript 模板进行渲染
将很快添加...
同构服务器端渲染
将很快添加...
响应性
将很快添加...
架构设计和实现
数据加载
数据加载模块
Handlebars
将很快添加...
LightnCandy
将很快添加...
代码拆分
将很快添加...
渐进式 Web 应用
将很快添加...
单页应用
将很快添加...
内容 CDN
将很快添加...
A/B 测试
将很快添加...
表单输入模块
将很快添加...
客户端渲染
将很快添加...
通过 Handlebars 的 JavaScript 模板
将很快添加...
执行 JavaScript 函数
将很快添加...
资源
将很快添加...
资产捆绑
将很快添加...
渐进式启动
将很快添加...
body 中的链接
将很快添加...
状态管理
将很快添加...
数据缓存、配置缓存和复制
将很快添加...
响应性
将很快添加...
服务器端渲染
将很快添加...
同构
将很快添加...
通过 LightnCandy 将 JavaScript 模板转换为 PHP
将很快添加...
将网页渲染为事务性电子邮件
将很快添加...
PHP 版本
要求
- 开发需要 PHP 8.1+
- 生产需要 PHP 7.2+
支持的 PHP 功能
请查看 GatoGraphQL/GatoGraphQL
中的支持功能列表
预览降级到 PHP 7.2
通过 Rector(dry-run 模式)
composer preview-code-downgrade
标准
要检查编码标准,请运行 PHP CodeSniffer
composer check-style
要自动修复问题,请运行
composer fix-style
变更日志
有关最近更改的更多信息,请参阅 CHANGELOG
测试
要执行 PHPUnit,请运行
composer test
静态分析
要执行 PHPStan,请运行
composer analyse
报告问题
要报告错误或请求新功能,请在 GatoGraphQL monorepo issue tracker 上操作。
贡献
我们欢迎对这个包的贡献,可在 GatoGraphQL monorepo(该包的源代码存储的地方)进行。
有关详细信息,请参阅 CONTRIBUTING 和 CODE_OF_CONDUCT
安全
如果您发现任何与安全相关的问题,请发送电子邮件至 leo@getpop.org,而不是使用问题跟踪器。
致谢
许可协议
GNU通用公共许可证第2版(或更新版)。有关更多信息,请参阅许可文件。