- 0:04:25 Leveraging new style fixtures
- 0:48:26 Using the DI container
- set up logging, and database config from the container.
- set up services into controllers.
- Talk about new fixtures and how they will work.
- Reuse migrations for test schema.
- Using factory methods to create objects, or cakephp-fixture-factories.
- Demo of creating simple factories using a trait and method. Fixture-factories plugin
- 1:30:13 Browser automation testing with Panther.
- Why do browser automation.
- Using panther to operate pages.
- 2:17:13 Helpers you may need.
Any software ought to be automatically tested. This ensures the application's integrity over time and evolution.
Testing with CakePHP has recently evolved with three significant features co-developed with Nicolas Masson, easing the test driven development experience:
- Migration-managed test databases,
- Trigger-based test database cleaning to speed up the suite,
- Fixture factories to generate complex test fixtures in no time.
At Passbolt, we grabbed the opportunity to refactor our code base and enhance the quality of our tests.
In this presentation, I will describe the test code-base and the continuous integration cycles of the Passbolt API with code examples, from unit to integration tests and dummy data generation.
In a second part, I will explain how to efficiently use the fixture factories plugin, with extensive insights into the plugin's code-base.
CakePHP implements a way to reuse code in controllers called Components. Creating components keeps controller code clean.
However, components are not the only mechanism to reuse code in controllers. We can also reuse code by using Traits. Furthermore, we can use Dependency Injection in CakePHP 4.2 and later. Which do you use better Components, Traits or Dependency Injection?
In this talk, I will introduce the each of the three mechanisms and consider what use cases each of them is suitable for.
In order to handle large amounts of accesses and large amounts of data, it is essential to have a mechanism to distribute reference queries to Replica.
CakePHP does not have distributing reference queries to Replica, but it can be done with a plugin.
cakephp-master-replica is a great plugin to do this.
This can be achieved by implementing a process to switch to Replica before executing a reference query, but if it is simply implemented, it will be cumbersome to write the switching process every time.
In this proposal, I will introduce the cakephp-master-replica plugin and show an example implementation in CakePHP4 that automatically switches to Replica when a reference query is issued.
*) How does the contact tracing work in Czech Republic
*) How the system was built to support 4000 concurrent users with realtime operations (calls, SMS messages etc.)
*) How does the system integrate with multiple government information systems of Ministry of Health and Interior Ministry
*) How does CakePHP 4 support all these business processes from a technological point-of-view
Here at Jump Twenty Four, We adhere to some strict standards for our code. We look at the questions of Why we use the standards we use, What coding standards we apply, The benefits of applying coding standards, and an example of using the coding standards across projects.
In Laravel we apply PHP Linter, PHPStan, ECS, Englightn and Test Driven Development.
In CakePHP the only one we cant apply is Enlightn as that is Laravel specific.
Using a simplified blogging application as an example of how we apply the packages we need to the project, how we use those packages, how to fix things those packages suggest to us, and the reason we apply certain standards are all covered.
Sometimes you need to re-use some functionality in multiple places like commands, controller functions or other specific events.
Instead of copying the code and producing duplicate code a good solution are Utility Classes.
In this talk I will go more in depth in the following topics:
* Why we need PHP Namespaces
* How are PHP Namespaces set up in CakePHP
* How do I use PHP Namespaces
I'd like to do a presentation on how to develop private plugins and how to distribute them with Satis..
In Centerdata we use a couple of inhouse plugins, which we re-use in several projects.
In CakePHP2 we used the Git Submodule approach, but since the switch to CakePHP4 we're using Satis; a private composer repository tool.
During the presentation i'll:
* Setup Satis
* Create a CakePHP project
* Bake a plugin
* Push that plugin to GitLab
* Add plugin to Satis
* Open another Cakephp project and include the plugin with Composer
There's a strong tendency toward "gate keeping" right now in the 2020s. Senior developers warn "there be dragons" while announcing a "hands off" policy toward the crucial areas of the code base. You and I need to get past that. Where's the fun when you can't touch the dragons? The joy's in _experiencing_ software development, dragons and all. Our industry experiences remarkably high rates of burnout. Looking back across the decades, this is my experience--how to have fun. We look at "the guru", mentoring, imposter syndrome, the need for continuously learning, and thoughts on how we extend the craft of software development.
So you're a "Senior Developer" now? What does that even mean? Is it a title you get for being the last one standing in a difficult environment? Is it a label you get for being older than your peers? If you want to become a "senior developer" what are some things that can help you get there?
In this talk I share my experiences of being a "senior developer" on different projects across different companies across different programming languages. Some of the things discussed include:
* problem isolation
* tooling support
* domain knowledge
While sometimes it just takes time to get to be "senior", these tips can help apply structure to a job that often comes with less coding and more problem solving.
Join us as we dive into Ansible, the server management tool designed to help developers keep servers configured properly and running smoothly. We’ll cover the basics and dive into some in-depth configuration options so you can stop treating your servers like pets: which you constantly have to feed and water. Join us as we learn how to turn those pets into cattle in your server farm and turn your infrastructure into code!
Ansible is an agentless server configuration manager which performs tasks over an SSH connection. There is nothing to install on your systems. We’ll cover examples of how to leverage Ansible modules to add users, configure services, set up configuration files, and deploy code to remote systems. Instead of manually performing these tasks, join us as we learn how to write Ansible playbooks to accomplish these tasks and turn our infrastructure into infrastructure as code!
Intro to Ansible
What Ansible is good for
What Ansible isn’t good for
Configuring Inventory & Environments
Running & Debugging Playbooks
Reuse other playbooks for your needs
Where to get help & other fantastic learning resources
Using NGINX with PHP-FPM has been the standard to run your Cake-PHP Applications for the last years! But what if I tell you there is something else. Something new from NGINX you can use to power your Cake-PHP Applications? Something you can use to run multiple Applications at the same time and something that can be used to control the number of PHP processes, the certificates used for TLS encryption and the PHP User and Admin options just an API call away. If you are curious what this something is and how I used it to modernise my PHP Deployment strategy and ecosystem join me and learn more about NGINX Unit!