{"id":13405452,"url":"https://github.com/PHPJasper/phpjasper","last_synced_at":"2025-03-14T10:30:41.040Z","repository":{"id":2665315,"uuid":"46984485","full_name":"PHPJasper/phpjasper","owner":"PHPJasper","description":"A PHP report generator","archived":false,"fork":false,"pushed_at":"2023-11-05T17:28:20.000Z","size":153987,"stargazers_count":448,"open_issues_count":67,"forks_count":160,"subscribers_count":34,"default_branch":"master","last_synced_at":"2024-04-26T20:22:47.457Z","etag":null,"topics":["hacktoberfest","pdf-generation","php","php-reports","phpjasper","reports"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PHPJasper.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null},"funding":{"custom":"https://nubank.com.br/pagar/518o5/zVBzxd00Sb"}},"created_at":"2015-11-27T14:30:42.000Z","updated_at":"2024-04-25T02:23:47.000Z","dependencies_parsed_at":"2023-07-06T15:01:29.041Z","dependency_job_id":"8f132474-21af-4700-b255-4407771790e4","html_url":"https://github.com/PHPJasper/phpjasper","commit_stats":{"total_commits":264,"total_committers":20,"mean_commits":13.2,"dds":0.5378787878787878,"last_synced_commit":"c11525c75959768e5db51a674c34783b3d292c4b"},"previous_names":[],"tags_count":32,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PHPJasper%2Fphpjasper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PHPJasper%2Fphpjasper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PHPJasper%2Fphpjasper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PHPJasper%2Fphpjasper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PHPJasper","download_url":"https://codeload.github.com/PHPJasper/phpjasper/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243561817,"owners_count":20311183,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest","pdf-generation","php","php-reports","phpjasper","reports"],"created_at":"2024-07-30T19:02:02.542Z","updated_at":"2025-03-14T10:30:41.032Z","avatar_url":"https://github.com/PHPJasper.png","language":"PHP","readme":"![PHPJasper logo](docs/images/phpjasper.png)\n\u003c!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --\u003e\n\n# PHPJasper\n_A PHP Report Generator_\n\n[![Build Status](https://api.travis-ci.com/PHPJasper/phpjasper.svg?branch=master)](https://app.travis-ci.com/github/PHPJasper/phpjasper)\n[![Coverage Status](https://coveralls.io/repos/github/PHPJasper/phpjasper/badge.svg?branch=master)](https://coveralls.io/github/PHPJasper/phpjasper?branch=master)\n[![Latest Stable Version](https://poser.pugx.org/geekcom/phpjasper/v/stable)](https://packagist.org/packages/geekcom/phpjasper)\n[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%207.2-blue.svg?style=flat-square)](https://php.net/)\n[![Total Downloads](https://poser.pugx.org/geekcom/phpjasper/downloads)](https://packagist.org/packages/geekcom/phpjasper)\n[![License](https://poser.pugx.org/geekcom/phpjasper/license)](https://packagist.org/packages/geekcom/phpjasper)\n[![PHPStan](https://img.shields.io/badge/PHPStan-enabled-brightgreen.svg?style=flat)](https://github.com/phpstan/phpstan)\n[![All Contributors](https://img.shields.io/badge/all_contributors-12-orange.svg?style=flat-square)](#contributors-)\n\u003c!-- ALL-CONTRIBUTORS-BADGE:END --\u003e\n\n### Docs\n\n[![Language-pt_BR](https://img.shields.io/badge/pt__BR-100%25-green.svg?style=flat-square)](https://github.com/PHPJasper/phpjasper/blob/master/docs/pt_BR/LEIA-ME_pt_BR.md)\n\n\u003e ### Please consider **[make a donation](https://blockchain.com/btc/payment_request?address=1MDkixV6Xn9yQoKLDLdznLwmbKrJ9VAThj\u0026amount=0.00001737\u0026message=PHPJasper_Support)**, support our activities\n\n### About\nPHPJasper is the best solution to compile and process JasperReports (.jrxml \u0026 .jasper files) just using PHP, in short: to generate reports using PHP.\n\n#### Our channel on discord\nhttps://discord.gg/7FpDnQ\n\n**Notes:** \n* PHPJasper Can be used regardless of your PHP Framework\n* For PHP versions less than 7.0 see: [v1.16](https://github.com/PHPJasper/phpjasper/releases/tag/v1.16)\n* [Here](https://github.com/PHPJasper/examples) are several examples of how to use PHPJasper\n\n### Why PHPJasper?\n\nDid you ever had to create a good looking Invoice with a lot of fields for your great web app?\n\nI had to, and the solutions out there were not perfect. Generating *HTML* + *CSS* to make a *PDF*? That doesn't make any sense! :)\n\nThen I found **JasperReports** the best open source solution for reporting.\n\n### What can I do with this?\n\nWell, everything. JasperReports is a powerful tool for **reporting** and **BI**.\n\n**From their website:**\n\n\u003e The JasperReports Library is the world's most popular open source reporting engine. It is entirely written in Java and it is able to use data coming from any kind of data source and produce pixel-perfect documents that can be viewed, printed or exported in a variety of document formats including HTML, PDF, Excel, OpenOffice and Word.\n\nIt is recommended using [Jaspersoft Studio](http://community.jaspersoft.com/project/jaspersoft-studio) to build your reports, connect it to your datasource (ex: MySQL, POSTGRES), loop thru the results and output it to PDF, XLS, DOC, RTF, ODF, etc.\n\n*Some examples of what you can do:*\n\n* Invoices\n* Reports\n* Listings\n\n## Requirements\n\n* PHP 7.2 or above\n* Java JDK 1.8\n\n## Optional\n\n* Any `jdbc` drivers to generate reports from a database (MySQL, PostgreSQL, MSSQL...), must be copied to a folder `bin/jasperstarter/jdbc`\n* We ship the [PostgreSQL](https://jdbc.postgresql.org/) (42.2.9) in the `bin/jasperstarter/jdbc` directory.\n* We ship the [MySQL connector](http://dev.mysql.com/downloads/connector/j/) (v5.1.48) in the `bin/jasperstarter/jdbc` directory.\n* [Microsoft JDBC Drivers SQL Server\n](https://docs.microsoft.com/en-us/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server?view=sql-server-ver15).\n* [Jaspersoft Studio](http://community.jaspersoft.com/project/jaspersoft-studio) (to draw your reports).\n\n## Installation\n\nInstall [Composer](http://getcomposer.org) if you don't have it.\n```\ncomposer require geekcom/phpjasper\n```\nOr in your file'composer.json' add:\n\n```json\n{\n    \"require\": {\n        \"geekcom/phpjasper\": \"^3.4.0\"\n    }\n}\n```\n\nAnd the just run:\n\n    composer install\n\nand thats it.\n\n----------------------------------------------------------------------------------------------------------------------------\n\n## PHPJasper with Docker\n\nWith Docker CE and docker-compose installed just run:\n\n* `docker-compose up -d`\n* `docker exec -it phpjasper composer install`\n\nTo execute tests:\n\n* `docker exec -it phpjasper sudo composer test` or\n* `docker exec -it phpjasper sudo composer testdox`\n\nTo see coverage manually of tests, execute the file: `tests/log/report/index.html`\n\n_Help us writing new tests, make a fork_ :)\n\n----------------------------------------------------------------------------------------------------------------------------\n\n## Examples\n\n### The *Hello World* example.\n\nGo to the examples directory in the root of the repository (`vendor/geekcom/phpjasper/examples`).\nOpen the `hello_world.jrxml` file with Jaspersoft Studio or with your favorite text editor and take a look at the source code.\n\n#### Compiling\n\nFirst we need to compile our `JRXML` file into a `JASPER` binary file. We just have to do this one time.\n\n**Note 1:** You don't need to do this step if you are using *Jaspersoft Studio*. You can compile directly within the program.\n\n```php\n\nrequire __DIR__ . '/vendor/autoload.php';\n\nuse PHPJasper\\PHPJasper;\n\n$input = __DIR__ . '/vendor/geekcom/phpjasper/examples/hello_world.jrxml';   \n\n$jasper = new PHPJasper;\n$jasper-\u003ecompile($input)-\u003eexecute();\n```\n\nThis commando will compile the `hello_world.jrxml` source file to a `hello_world.jasper` file.\n\n#### Processing\n\nNow lets process the report that we compile before:\n\n```php\n\nrequire __DIR__ . '/vendor/autoload.php';\n\nuse PHPJasper\\PHPJasper;\n\n$input = __DIR__ . '/vendor/geekcom/phpjasper/examples/hello_world.jasper';  \n$output = __DIR__ . '/vendor/geekcom/phpjasper/examples';    \n$options = [ \n    'format' =\u003e ['pdf', 'rtf'] \n];\n\n$jasper = new PHPJasper;\n\n$jasper-\u003eprocess(\n    $input,\n    $output,\n    $options\n)-\u003eexecute();\n```\n\nNow check the examples folder! :) Great right? You now have 2 files, `hello_world.pdf` and `hello_world.rtf`.\n\nCheck the *methods* `compile` and `process` in `src/JasperPHP.php` for more details\n\n#### Listing Parameters\n\nQuerying the jasper file to examine parameters available in the given jasper report file:\n\n```php\n\nrequire __DIR__ . '/vendor/autoload.php';\n\nuse PHPJasper\\PHPJasper;\n\n$input = __DIR__ . '/vendor/geekcom/phpjasper/examples/hello_world_params.jrxml';\n\n$jasper = new PHPJasper;\n$output = $jasper-\u003elistParameters($input)-\u003eexecute();\n\nforeach($output as $parameter_description)\n    print $parameter_description . '\u003cpre\u003e';\n```\n\n### Using database to generate reports\n\nWe can also specify parameters for connecting to database:\n\n```php\nrequire __DIR__ . '/vendor/autoload.php';\n\nuse PHPJasper\\PHPJasper;    \n\n$input = '/your_input_path/your_report.jasper';   \n$output = '/your_output_path';\n$options = [\n    'format' =\u003e ['pdf'],\n    'locale' =\u003e 'en',\n    'params' =\u003e [],\n    'db_connection' =\u003e [\n        'driver' =\u003e 'postgres', //mysql, ....\n        'username' =\u003e 'DB_USERNAME',\n        'password' =\u003e 'DB_PASSWORD',\n        'host' =\u003e 'DB_HOST',\n        'database' =\u003e 'DB_DATABASE',\n        'port' =\u003e '5432'\n    ]\n];\n\n$jasper = new PHPJasper;\n\n$jasper-\u003eprocess(\n        $input,\n        $output,\n        $options\n)-\u003eexecute();\n```\n\n**Note 2:**\n\nFor a complete list of locales see [Supported Locales](http://www.oracle.com/technetwork/java/javase/java8locales-2095355.html)\n\n### Using MSSQL DataBase\n\n```php\nrequire __DIR__ . '/vendor/autoload.php';\n\nuse PHPJasper\\PHPJasper;\n\n$input = '/your_input_path/your_report.jasper or .jrxml';   \n$output = '/your_output_path';\n$jdbc_dir = __DIR__ . '/vendor/geekcom/phpjasper/bin/jaspertarter/jdbc';\n$options = [\n    'format' =\u003e ['pdf'],\n    'locale' =\u003e 'en',\n    'params' =\u003e [],\n    'db_connection' =\u003e [\n        'driver' =\u003e 'generic',\n        'host' =\u003e '127.0.0.1',\n        'port' =\u003e '1433',\n        'database' =\u003e 'DataBaseName',\n        'username' =\u003e 'UserName',\n        'password' =\u003e 'password',\n        'jdbc_driver' =\u003e 'com.microsoft.sqlserver.jdbc.SQLServerDriver',\n        'jdbc_url' =\u003e 'jdbc:sqlserver://127.0.0.1:1433;databaseName=Teste',\n        'jdbc_dir' =\u003e $jdbc_dir\n    ]\n];\n\n$jasper = new PHPJasper;\n\n$jasper-\u003eprocess(\n        $input,\n        $output,\n        $options\n    )-\u003eexecute();\n```\n\n### Reports from a XML\n\n```php\nrequire __DIR__ . '/vendor/autoload.php';\n\nuse PHPJasper\\PHPJasper;\n\n$input = '/your_input_path/your_report.jasper';   \n$output = '/your_output_path';\n$data_file = __DIR__ . '/your_data_files_path/your_xml_file.xml';\n$options = [\n    'format' =\u003e ['pdf'],\n    'params' =\u003e [],\n    'locale' =\u003e 'en',\n    'db_connection' =\u003e [\n        'driver' =\u003e 'xml',\n        'data_file' =\u003e $data_file,\n        'xml_xpath' =\u003e '/your_xml_xpath'\n    ]\n];\n\n$jasper = new PHPJasper;\n\n$jasper-\u003eprocess(\n    $input,\n    $output,\n    $options\n)-\u003eexecute();\n```\n\n### Reports from a JSON\n\n```php\nrequire __DIR__ . '/vendor/autoload.php';\n\nuse PHPJasper\\PHPJasper;\n\n$input = '/your_input_path/your_report.jasper';   \n$output = '/your_output_path';\n\n$data_file = __DIR__ . '/your_data_files_path/your_json_file.json';\n$options = [\n    'format' =\u003e ['pdf'],\n    'params' =\u003e [],\n    'locale' =\u003e 'en',\n    'db_connection' =\u003e [\n        'driver' =\u003e 'json',\n        'data_file' =\u003e $data_file,\n        'json_query' =\u003e 'your_json_query'\n    ]\n];\n\n$jasper = new PHPJasper;\n\n$jasper-\u003eprocess(\n    $input,\n    $output,\n    $options\n)-\u003eexecute();\n```\n\n## Performance\n\nDepends on the complexity, amount of data and the resources of your machine (let me know your use case).\n\nI have a report that generates a *Invoice* with a DB connection, images and multiple pages and it takes about **3/4 seconds** to process. I suggest that you use a worker to generate the reports in the background.\n\n## Thanks\n\n[Cenote GmbH](http://www.cenote.de/) for the [JasperStarter](http://jasperstarter.sourceforge.net/) tool.\n\n[JetBrains](https://www.jetbrains.com/) for the [PhpStorm](https://www.jetbrains.com/phpstorm/) and all great tools.\n\n\n## [Questions?](https://github.com/PHPJasper/phpjasper/issues)\n\nOpen a new [Issue](https://github.com/PHPJasper/phpjasper/issues) or look for a closed issue\n\n\n## [License](https://github.com/PHPJasper/phpjasper/blob/master/LICENSE)\n\nMIT\n\n## [Contribute](https://github.com/PHPJasper/phpjasper/blob/master/CONTRIBUTING.md)\n## Contributors ✨\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://twitter.com/geekcom2\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/3955933?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eDaniel Rodrigues\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#infra-geekcom\" title=\"Infrastructure (Hosting, Build-Tools, etc)\"\u003e🚇\u003c/a\u003e \u003ca href=\"#maintenance-geekcom\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e \u003ca href=\"https://github.com/PHPJasper/phpjasper/commits?author=geekcom\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://www.leandrobitencourt.com.br\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/13982234?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eLeandro Bitencourt\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/PHPJasper/phpjasper/commits?author=lavela\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/vitormattos\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/1079143?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eVitor Mattos\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/PHPJasper/phpjasper/commits?author=vitormattos\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/rafaelqueiroz\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/275919?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eRafael Queiroz\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/PHPJasper/phpjasper/commits?author=rafaelqueiroz\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://dave.codes\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/5477476?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eDave Bould\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/PHPJasper/phpjasper/commits?author=dbould\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/ThiagoAlves31\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/32931011?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eThiagoAlves31\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/PHPJasper/phpjasper/commits?author=ThiagoAlves31\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://www.jadsonbr.com.br\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/10354607?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJadson Ribeiro\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/PHPJasper/phpjasper/commits?author=jadsonbr\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://www.boaglio.com\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/6140?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eFernando Boaglio\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/PHPJasper/phpjasper/commits?author=boaglio\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://rahulja.in\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/1639945?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eRahul Jain\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/PHPJasper/phpjasper/commits?author=xRahul\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/lecneri\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/431453?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eLuiz Eduardo\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/PHPJasper/phpjasper/commits?author=lecneri\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/davidribeiro\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/11426456?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eDavid Ribeiro\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/PHPJasper/phpjasper/commits?author=davidribeiro\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://allenjd3.github.io\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/8092154?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJames Allen\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/PHPJasper/phpjasper/commits?author=allenjd3\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-enable --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n","funding_links":["https://nubank.com.br/pagar/518o5/zVBzxd00Sb"],"categories":["PHP"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPHPJasper%2Fphpjasper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FPHPJasper%2Fphpjasper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPHPJasper%2Fphpjasper/lists"}