http-kernel
Symfony Panther
http-kernel | Symfony Panther | |
---|---|---|
6 | 15 | |
8,043 | 2,886 | |
0.2% | 0.3% | |
9.2 | 5.5 | |
about 12 hours ago | 7 days ago | |
PHP | PHP | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
http-kernel
-
Reading bundle configuration inside Symfony Compiler Passes
The compiling of the extension configurations is actually done in a compiler pass. This is called the Merge Pass and is the first compiler pass to be processed. Because of this, once our custom compiler pass reads the configuration of off the extension, we can be sure it is already compiled, cached and ready for use.
-
95% final readonly classes. What is your superpower?
I present you the Symfony ControllerEvent, final class, no interface and a boatload of heavy dependencies.
-
How do you test your code ?
In that regard, someone posted symfony's test suite as an example of good PHPUnit testing. The first file I clicked on demonstrated how worthless (IMO) unit testing can be: https://github.com/symfony/http-kernel/blob/v6.0.8/Tests/CacheClearer/ChainCacheClearerTest.php
-
What to do when it is necessary to modify code in a library managed by a package manager?
The second one was in the Symfony HTTP kernel which is managed by Composer. That file contains this line:
-
How to create a basic Symfony app with routing?
You can also define routes in the method directly:
Symfony Panther
-
Any good resources on how to do “interaction” tests?
Use some library with WebDriver API (f.ex. Symfony Panther if you want to stick to PHP, or Playwright) to run tests against your WP backend
-
Any pro-tips for writing automated tests with Selenium PHP?
Personal experience: - don’t use Behat unless you really needed a “story telling”, it has a intermediate layer Gherkin that you’ll need to code. You can write “Given/When/Then” steps but you’ll also need to write “php code” that will interpret this step. - using real browser be prepared for instability - any interaction with JavaScript can broken/delay execution - be prepared that this tests are call functional they are the most expensive test, so start small unit then integration and only then functional. - use https://github.com/symfony/panther or https://codeception.com/ you’ll have phpunit alike interface to run them. - you’ll need to reset state of your database each time to provide “isolation” and stability
-
In your opinion, which existing PHP framework can become as popular as Symphony or Laravel?
For headless browser testing with symfony there is symfony panther (https://github.com/symfony/panther)
-
Seeking recommendation for image generation in PHP
I did something similar with Symfony Panther combined with ChromeDriver.
- Best PHP library options for scraping sites with JavaScript - Symfony Panther, Chrome-PHP, Mink, etc.?
-
How do you test your code ?
For tools, I use PHPUnit, Symfony's PHPUnit helper classes, and Panther (for frontend/headless-browser testing, mostly JS behavior)
-
Getting a DomDocument query failing
If you are comfortable with using composer and third party libraries I would suggest checking out https://github.com/symfony/panther
-
Browser automation question
I like this one recently https://github.com/symfony/panther
-
10+The Best PHP Projects GitHub 2022
Panther
-
Can I emulate a browser runtime environment in PHP?
What you're looking for is a package to control a "headless browser". The best one IMO is symfony/panther: https://github.com/symfony/panther
What are some alternatives?
http-foundation - Defines an object-oriented layer for the HTTP specification
headless-chromium-php - Instrument headless chrome/chromium instances from PHP
console - Eases the creation of beautiful and testable command line interfaces
google-search-results-php - Google Search Results PHP API via Serp Api
translation - Provides tools to internationalize your application
Goutte - Goutte, a simple PHP Web Scraper
event-dispatcher - Provides tools that allow your application components to communicate with each other by dispatching events and listening to them
php-webdriver - PHP client for Selenium/WebDriver protocol. Previously facebook/php-webdriver
Guzzle - Guzzle, an extensible PHP HTTP client
DiDOM - Simple and fast HTML and XML parser
routing - Maps an HTTP request to a set of configuration variables
laravel-totem - Manage Your Laravel Schedule From A Web Dashboard