dev-lss / app-harp
基于Harp框架的PHP项目
Requires
- php: >=8.1
- dev-lss/harp: >=2.0.0
- doctrine/orm: *
- guzzlehttp/guzzle: >=7.0
- illuminate/database: >=8.83
- league/oauth2-client: >=2.6
- league/oauth2-server: >=8.3.5
- nyholm/psr7: >=1.5
- ricwein/filesystem: >=4.0
- symfony/cache: >=5.4
- symfony/dotenv: >=5.4
- symfony/var-dumper: >=5.4
README
关于Harp
[en_US] Harp是一个多应用程序的框架,即不必为每个应用程序创建一个项目,Harp允许您非常简单地创建多个应用程序并在单个项目实例中运行它们。
假设您创建了两个应用程序
1 - MyWebApp 2 - MyApi
要访问您的应用程序,只需在浏览器中输入: http://mydomain.com/MyWebApp 或 http://mydomain.com/MyApi 就可以了!
需要一个多应用程序且高度模块化的框架?Harp可能是您的解决方案。
[pt_BR] O Harp é um framework que possui como sua principal caractéristica ser multiaplicativos, ou seja, ao invés de sempre criar um projeto para um aplicativo, o Harp te possibilita criar múltiplos aplicativos e rodar eles em uma única instância do projeto de maneira muito simples.
Vamos supor que você tenha criado dois app's
1 - MyWebApp 2 - MyApi
para acessar seus aplicativos basta digitar em um navegador qualquer: http://meudominio.com/MyWebApp ou http://meudominio.com/MyApi e pronto!
Precisa de um framework multiaplicativos e fortemente modularizado? Harp pode ser sua solução.
路由
[en_US] 规范
当在routes json文件中手动创建路由时,请注意以下几点
应用名必须为大驼峰式命名法,例如:AppBase, HelloWorld 等。
默认路由名必须小写,例如:appbase, helloworld。默认路由是与应用程序同名的路由,在浏览器中输入 http://mydomain.com/AppBase 将运行appbase路由。
路由有多个设置,可以在以下文档中查看: {{url_documentation}}
[pt_BR] Convenções
Ao criar manualmente suas rotas no arquivo routes json tenha em mente algumas coisas
O nome do App deve ser em PascalCase ex: AppBase, HelloWorld e etc.
O nome da rota padrão deve ser escrita em lower ex: appbase, helloworld. A rota padrão é uma rota com o mesmo nome do app onde ao digitar http://meudominio.com/AppBase a rota appbase será executada.
As rotas possuem diversas configurações que poder ser vistas na seguinte documentação: {{url_documentação}}
加密密钥
[en_US] 默认情况下,密钥存储在storage/keys中,当使用{playh}工具创建应用程序时,密钥会自动生成。如果您想生成密钥或更改密钥,可以运行以下playh命令
php playh build:key --app{appName} --force={true|false}
通过cmd或终端手动
导航到:app/{appName}/storage/keys并运行以下命令
php -r 'file_put_contents("encryption.key",base64_encode(random_bytes(32)));'
然后运行:chmod 0644 encryption.key
[pt_BR] As chaves por padrão são guaradados em storage/keys, ao criar uma aplicação usando o utilitário {playh} a chave é gerada automaticamente, caso queira gerar as chaves ou alterar as chaves você pode executar os seguintes comandos playh
php playh build:key --app{appName} --force={true|false}
Manualmente pelo cmd ou terminal
navegue até: app/{appName}/storage/keys e execute o seguinte comando
php -r 'file_put_contents("encryption.key",base64_encode(random_bytes(32)));'
depois execute: chmod 0644 encryption.key
证书
默认情况下,密钥存储在storage/certs中,当使用{playh}工具创建应用程序时,证书会自动生成。如果您想生成证书或更改它,可以运行以下playh命令
php playh build:cert --app{appName} --force={true|false}
为您的应用程序生成证书
导航到:app/{appName}/storage/certs并运行以下命令
openssl genrsa -out private.key 2048
或者如果您更喜欢带密码的证书
openssl genrsa -aes128 -passout file:../keys/encryption.key -out private.key 2048
然后运行:chmod 0644 private.key
作为chaves por padrão são guardados em storage/certs,ao criar uma aplicação usando o utilitário {playh} o certificado é gerado automaticamente,caso queira gerar o certificado ou alterá-lo você pode executar os seguintes comandos playh
php playh build:cert --app{appName} --force={true|false}
Gerando um certificado para sua aplicação
navegue até: app/{appName}/storage/certs e execute o seguinte comando
openssl genrsa -out private.key 2048
ou se preferir um certificado com senha
openssl genrsa -aes128 -passout file:../keys/encryption.key -out private.key 2048
depois execute: chmod 0644 private.key