Download the PHP package pier-infor/nymfonya without Composer

On this page you can find all versions of the php package pier-infor/nymfonya. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package nymfonya

:elephant: Nymfonya

is not a Symfony app...¯\(ツ)

TravsisBadgeBuild CoverageCi ScrutinizerCq Latest Stable Version Total Downloads Latest Unstable Version

ʕʘ̅͜ʘ̅ʔ Why

I want :

:eyes: Introduction

Involved into backend projects based on Symfony or Laravel with Angular as front, I was frustrated about performances. I turned to micro frameworks like Silex, Slim...to improve more. A lot of them have been abandonned in favor of majors actors. I can't figure why, maybe a lake of maintainers or people prefered something more generalistic and large feature oriented.

Composer package manager, introduced in 2011 changed the way to design php app with the concept of package and dependencie. Autoloading RFCs as PSR-0 then PSR-4 were introduced a bit later aligning packages with namespace as vendor/feature.
Php is still interpreted and requires sources to be loaded, parsed(AST), assembled(as opcode) then executed in Zend VM @ request time. Some companies tried to compile source with JIT to speed up these steps (HipHop, HHVM) but did not ensure compatibility with the native source... :disappointed: !

:crying_cat_face: Situation

To speed up packages's dependencies Composer introduced optimization options to build a 'resource catalog' by namespace. To speed up the interpretation process php introduced Opcache as opcode cache but first run is still slower. Despite all these benefits, some frameworks require around 3K files to boot, multiplying I/O on storage device and wasting memory.
This is frustrating :rage: !
We can do better, don't we ?

:ocean: Best practices

:horse: Arch

Config

Container

Kernel & Http Foundation

Services

Rules

Middlewares

Middleware stack must contain at least one.

:boom: Usage

Server

Start

From root path

Play

Postman recommended.

Middleware Jwt

Free access

Bearer Token required

Middleware Restufl
Middleware Cors & After

Enabled for all endpoints.

Cli

Ideal for batch mode, cron stuffs. From the root of the project. This does not require any server to be running. Middleware Jwt is disable.
Use jq to pretty or filter json in console.

Sample Auth

Sample Stat Opcache

Sample OpenApi Generator

:star2: Code

Catalog

Complexity

Mess

:innocent: Tests

Run phpunit all tests.

To get the code coverage the command below then browse coverage/index.html file.

To run xdebug driver (xdebug required), considered as fat and buggy.

To run phpdbg driver (phpdbg required), faster and precise.

You can also use a very fast driver PCOV.
Check S.Bergmann travis config.

:fire: Security

Develop app is dev job, secure it is one other.

Dev side

Use filters and validators everywhere and never trust input params.

Devops side

Devops/SysAdmins should propose/setup solutions.

I would recommend third part services if exposed as below :

This should stop most common attacks but do not exempt your app to be bullet proofed.

Check your app logs with Tail for Monolog make logs reading easier.

Change some settings in php.ini

:hamster: Todo

Core

Extra packages

:chicken: Naming convention

Controller action must be declared as final public.

:tongue: Conclusion

I'm aware it requires improvements on many points and I'm sorry to break most PSR.(⌐■_■)
Performance rocks (response 15ms for a 40X at first run, then 6ms).

I attempted to keep the code :

Can't wait trying Php v8.0 JIT with DynAsm.
It should perf x4 face to v7.4 and generate native code (VM + AOT).
You can try JIT from Php v7.4 as experimental feature (compile time) !
Star and or fork then PR to improve it.
Test it and be happy or not ¯\(ツ)

:panda_face: Extras


All versions of nymfonya with dependencies

PHP Build Version
Package Version
Requires php Version >=7.3.10
pier-infor/nymfonya-config Version ^1.0.2
pier-infor/nymfonya-pubsub Version ^1.0.1
pier-infor/nymfonya-container Version ^1.0.2
pier-infor/nymfonya-http-foundation Version ^1.0.2
firebase/php-jwt Version ^3.0 || ^4.0 || ^5.0
monolog/monolog Version ^1.25
zircote/swagger-php Version ^3.0
nilportugues/sql-query-builder Version ^1.7
swiftmailer/swiftmailer Version ^6.2
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package pier-infor/nymfonya contains the following files

Loading the files please wait ....