Bookmarks tagged with #php.
Show all
Show all
A PHP Compiler, aka The FFI Rabbit Hole | ircmaxell's Blog
It’s no secret that I’m into building toy compilers and programming languages. Today I’m introducing something that’s not a toy (I hope). Today, I’m introducing php-compiler (among many other projects
Saved
on: 2019-04-23
TwirPHP: A modern RPC framework for PHP
In the last couple years RPC started to become popular again as a communication mechanism for web-based APIs. It’s not a new concept at all, but it changed a lot over the years: the technology evolved, new IDLs and frameworks (like protobuf and gRPC) appeared. TwirPHP tries to bring this new tech to PHP by porting Twirp, Twitch’s “simple RPC framework built on protobuf”.
Saved
on: 2019-04-20
delight-im/PHP-I18N: Internationalization and localization for PHP
Internationalization and localization for PHP
Saved
on: 2019-03-29
https://mattallan.me/posts/how-php-environment-variables-actually-work/
Tags:
#php
Saved
on: 2019-03-27
Kubernetes: deploy Laravel the easy way ♦︎ Learnk8s
In this article, I'll explain how to deal with the simple requirement of running a Laravel application as a local Kubernetes set up.
Saved
on: 2019-03-21
Introducing Inertia.js
In this article I introduce Inertia.js, a framework for creating server-driven single-page apps.
Saved
on: 2019-03-19
Which is the coolest PHP library you have used ? Put a link as well... : PH
Saved
on: 2019-03-16
Different kinds of service bus: command bus, service bus and query bus.
Service buses exist in different flavors. This article explains the overall concept of the service bus. Then it shows differences between the command bus, query bus, and event bus.
Saved
on: 2019-03-01
Why I choose Slim Framework for my PHP web development
Of course I often found myself involved in the same tedious tasks reinventing the wheel. But I found it even worse to spend a lot of time in learning just-another-framework and not being satisfied at…
Saved
on: 2019-02-20
Moving away from magic — or: why I don’t want to use Laravel anymore
By Niklas Schöllhorn
It is time for a change in the tools that I use. And I’ll tell you why!
First of all, I want to make sure that you know about my intentions. I am not trying to rant about Laravel or why other frameworks might be better.
This arti...
Saved
on: 2019-02-20
Why Config Coding Sucks | Tomas Votruba
Rector and static analysis help us to work with code better, but it also helps us spot new weak-points of our PHP code.
One of the biggest evils is *config coding*. **How it can hurt you and how get rid of it**?
Saved
on: 2019-02-19
Keeping (large) data providers organized in PHPUnit - DEV Community ????
It's easy to lose track of what exact data is in your data providers in a PHPUnit test, especially if there are many test cases, or many parameters for your test case. Fortunately, it's also easy to prevent that from happening.
Saved
on: 2019-02-18
If you could recommend just one book.. : PHP
Saved
on: 2019-02-13
What Composer Packages do you always install and find useful (in a non Framework environment)? : r/PHP
Saved
on: 2019-01-05
The Best PHP Books 2018 and 2017 - PHP Classes
Every year many books about PHP and related topics are released but most of them do not get much notice from developers that are very interested to learn about the books if they knew they existed. This article is a listing of PHP books that have been released in the last years that are best sellers in sites like Amazon. It was built with the collaboration of the authors that have written them...
Saved
on: 2019-01-04
Sanitize Your Inputs? | Kevin Smith
There's one particularly slippery term that wreaks havoc in the pursuit of application security: _Sanitize_.
Saved
on: 2019-01-03
RubixML/RubixML: Rubix ML is a high-level machine learning library that let
A high-level machine learning and deep learning library for the PHP language. - RubixML/ML
Saved
on: 2018-12-21
How to Install and Configure OPcache With Your PHP App
Learn how to improve your PHP app's performance with this guide to installing and configuring OPcache, made easy with Cloudways' simplified integration process.
Saved
on: 2018-11-30
I don't understand what's wrong with just using cookies for authentication. : r/PHP
Saved
on: 2018-10-21
Another question about the future of PHP vs other, currently trendier thing
Saved
on: 2018-10-02
Configuring PHP-FPM For High Network Traffic - DEV Community ????
Maintaining a constant response time on a server with high network traffic while using PHP is proba...
Saved
on: 2018-09-11
On structuring PHP projects — Nikola Poša - Blog
Locating code needs to be intuitive and fast
Saved
on: 2018-08-28
Using traits to compose your Doctrine entities – Titouan Galopin – Medium
Traits were introduced in PHP 5.4 (6 years ago) as a way to compose classes without relying on inheritance (in opposition to the ability to extends multiple classes like in C++). This feature of PHP…
Saved
on: 2018-08-21
adhocore/phint: Interactively scaffolds and init new (or fixup old) PHP project/library with sane defaults using templates in no time
Interactively scaffolds and init new (or fixup old) PHP project/library with sane defaults using templates in no time - adhocore/phint
Saved
on: 2018-08-21
Shorthand comparisons in PHP - stitcher.io
Taking a closer look at the ternary, null coalescing and spaceship operators in PHP.
Tags:
#php
Saved
on: 2018-08-20
What is your take on defensive programming? How do you normally do it in PH
Saved
on: 2018-08-07
noximo/PHP-colored-ascii-linechart: Nice looking versatile ASCII linegraph written in PHP
Nice looking versatile ASCII linegraph written in PHP - noximo/PHP-colored-ascii-linechart
Saved
on: 2018-08-06
Developing at Full Speed with Xdebug | Juan Treminio - Dallas based senior
A quick history
Saved
on: 2018-07-30
From Helpers to Middleware [eng] / Marco Pivetta
PHP fwdays'18 conference took place on June 10 in Kyiv.Facebook: https://www.facebook.com/fwdaysTwitter: https://twitter.com/fwdaysTelegram: https://t.me/php...
Saved
on: 2018-07-23
storage/README.md at master · igniphp/storage
Minimalistic entity framework with multi database support. - igniphp/storage
Saved
on: 2018-07-17
PHP-FPM: Process Management | Servers for Hackers
Learn how to manage how PHP-FPM creates and uses PHP processes to get the most out of your server.
Saved
on: 2018-06-01
Liskov and type safety - stitcher.io
What makes a type system safe; how does the Liskov substitution principle help with this; and what does it mean regarding type variance?
Saved
on: 2018-05-28
spatie/typed: Improvements to PHP's type system in userland: generics, typed lists, tuples and structs
Improvements to PHP's type system in userland: generics, typed lists, tuples and structs - spatie/typed
Saved
on: 2018-05-25
pwm/s-flow: A lightweight library for defining state machines that supports
A lightweight library for defining state machines. - pwm/s-flow
Saved
on: 2018-05-21
Serverless and PHP: introducing Bref | Matthieu Napoli
Serverless basically means "Running apps without worrying about servers". Obviously there are still servers involved, the main difference is that you do not maintain the servers and reserve their capacity. They are scaled up or down automatically and you pay only for what you use. This article intends to explain what serverless means for web applications and more specifically for PHP.
Saved
on: 2018-05-17
20 Useful PHP Scripts Available on CodeCanyon
Do you want to turn your website into a vibrant platform for customers? On CodeCanyon, you will find PHP email forms, PHP contact forms, PHP eCommerce platforms, secure shopping carts, and...
Tags:
#php
Saved
on: 2018-05-07
Why Docker? Creating a multi-container application with docker
If you are just starting to learn docker, one of the common questions that come to mind is what...
Saved
on: 2018-05-06
Functional Programming with PHP Generators – iFixit Engineering – Medium
Generators are cool. They make it easy to write iterators by defining a function instead of building an entire class that implements Iterator. They also make it easy to write lazy lists and infinite…
Saved
on: 2018-03-19
Make your Laravel App Fly with PHP OPcache – Appstract – Medium
Every time you execute a PHP script, the script needs to be compiled to byte code. OPcache leverages a cache for this bytecode, so the next time the same script is requested, it doesn’t have to…
Saved
on: 2018-03-10
san-kumar/lambdaphp: Quick and Dirty PHP website hosting using Aws Lambda
Quick and Dirty PHP website hosting using Aws Lambda - san-kumar/lambdaphp
Saved
on: 2018-03-09
Responsive images done right - stitcher.io
How to render responsive images in an optimal way.
Saved
on: 2018-03-09
WP init
Choáng Club là một trong những sàn cá cược uy tín nhất Việt Nam, Tải Choáng Club trải nghiệm cá cược đa dạng và an toàn cho người chơi.
Saved
on: 2018-03-05
The Definitive PHP 5.6, 7.0, 7.1, 7.2 and HHVM Benchmark (2018)
An in-depth look at performance benchmarks for various PHP frameworks to see how different PHP versions stack up against each other.
Tags:
#php
Saved
on: 2018-02-28
Web Summer Camp 2017
Netgen is presenting you Web Summer Camp 2017. Join us from August 30th to September 2nd in Rovinj, Croatia
Saved
on: 2018-01-20
Regaining trust in your test suite with Docker.
Docker, and containerised services in general, have brought a lot to the world
of software development. While not everybody is (or ever should be) using docker
as their deployment method, it's usefulness far exceeds being just a platform to
run services on in production.
--------------------------------------------------------------------------------
Testing PHP integrations.
For Flysystem [https://flysystem.thephpleague.com], an open source PHP package
to deal with filesystems, I needed a wa
Saved
on: 2018-01-20
Apache 2.4, the Event MPM, PHP via mod_proxy_fcgi and PHP-FPM – with vhosts
My tech articles—especially Linux ones—are some of the most-viewed on The Z-Issue. If this one has helped you, please consider a small donation to The Parker Fund by using the top widget at the right. Thanks! Recently, I've spent a huge amount of time working on Apache and PHP-FPM in order to allow for a ...
Saved
on: 2018-01-16
The 2018 Guide to Building Secure PHP Software - Paragon Initiative Enterprises Blog
Everything a developer needs to know to build secure software in the PHP programming language in the year 2018
Saved
on: 2017-12-16
Videos: Testing with PhpStorm | PhpStorm Blog
PhpStorm supports all the major PHP testing frameworks: PHPUnit, Codeception, Behat, and PHPSpec.Recently we've published a series of short videos about running PHPUnit and Codeception tests in Ph
Saved
on: 2017-11-18
PHP: Design Patterns
Write better PHP code by following these popular (and time-tested) design patterns.
Saved
on: 2017-11-02
Docker for any PHP Version | Servers for Hackers
Using Docker to get 5.3, which required a PHP version I didn't have on my local machine.
Saved
on: 2017-11-02
Conclusion
Let's take a very quick look at how best to set up PHP-FPM for high throughput, low latency, and more stable CPU and memory use. By default, most setups
Saved
on: 2017-10-10
How to handle configuration in PHP - Magium - The Selenium-based testing fr
Tags:
#php
Saved
on: 2017-10-07
How to gradually upgrade toward PHPUnit 6 with namespaced classes
In the latest months I wrote multiple times, in different projects, code migrating PHPUnit toward major version 6. This upgrade is harder than the previous one, since in this version it was introduced a big breaking change: all classes got (finally!) namespaced.
This means that any usage of those classes in your project needs to be updated. It may seem a simple find & replace job, but since you need to introduce at least one use PHPUnit\Framework\TestCase line at the top of each one of your test classes, it’s a boring and a little more than trivial task; also, upgrading it in a single big jump may not be feasible or prudent, especially in the case of open source or distributed libraries, where backward compatibility and support for old PHP versions must be ensured.
Saved
on: 2017-09-12
How to not be annoyed by tests and why they are important — Part 1
Developers tend to not write tests, the code is really hard to test or we simply don’t have time to write tests. For the last 3 years I was always struggling to test our software. These are merely…
Saved
on: 2017-09-08
Docker - Getting Started. Why it's useful. How to customize. Common pitfall
Saved
on: 2017-08-29
Single Sign On—You’re Probably Doing It Wrong | PHP Architect
Requiring users to log in individually to the websites they need for their work wastes time. Let’s fix that with a single sign-on service.
Saved
on: 2017-08-19
Layers, ports & adapters - Part 3, Ports & Adapters
In the previous article we discussed a sensible layer system, consisting of three layers:
Domain Application Infrastructure Infrastructure The infrastructure layer, containing everything that connects the application’s use cases to “the world outside” (like users, hardware, other applications), can become quite large. As I already remarked, a lot of our software consists of infrastructure code, since that’s the realm of things complicated and prone to break. Infrastructure code connects our precious clean code to:
Saved
on: 2017-08-19
Laracon 2017 – A Recap (And Links Galore) – Koomai – Medium
I attended my first Laracon in person and I have to say I really enjoyed the experience — maybe more than I expected to. It was well organised and the talks were diverse, informative and actionable…
Saved
on: 2017-07-28
Handling Incoming Webhooks in PHP | LornaJane
An increasing number of applications now offer webhooks as an integration, often in addition to an API. The classic example, familiar to most developers, is the GitHub webhooks which can notify your other systems such as CI tooling that a new commit has been added to a branch. If you imagine how m
Tags:
#php
Saved
on: 2017-07-25
Progressive Feature Rollout
The document outlines strategies for the progressive rollout of new features, emphasizing the roles of product owners, software engineers, and users in the development process. It discusses the importance of A/B testing, feature toggling, and metrics tracking using tools like Google Analytics and backend systems to assess user engagement and feature effectiveness. Key takeaways include the need for robust statistical evaluation and proper planning during feature deployment to minimize risks and enhance user experience.
Saved
on: 2017-06-22
Functional Programming in PHP7. Higher Order Functions | Neil Charlton
Saved
on: 2017-06-12
Stitcher 1.0
Create loop-able, array-like collections in PHP with type checking.
Saved
on: 2017-06-12
How to Use Laravel Mix in Non-Laravel Projects — SitePoint
Is it possible to use Laravel Mix - the "Webpack simplifier" - in non-Laravel projects? Let's find out! Join Lasse Rafn on this explanatory journey!
Saved
on: 2017-05-24
An open-source web platform for the new President of France (Symfony Blog)
The web platform running the winning campaign of the next President of France, Emmanuel Macron, is made with Symfony and is open source.
Saved
on: 2017-05-19
Type-safe data structures and bananas without gorillas in PHP : r/PHP
Saved
on: 2017-05-01
(2) SOLIDay 2015 - Mathias Verraes - Identity #4 - YouTube
Mathias Verraes - Identity SOLIDay 2015 - Conference about software architecture, best programming practices and design patterns.http://soliday.phpsrbija.rs/...
Saved
on: 2017-04-28
Is isolated testing dead? - BrandonSavage.net
Recently there’s been a great deal of discussion as to the merits of isolated testing versus integration and acceptance testing. Some proponents argue that integration testing far outweighs the value of isolated testing. While this is a perfectly valid position, I feel oversimplifies the complexity of testing in the same way that the “isolated testing […]
Saved
on: 2017-04-07
PHP UK Conference 2017 - YouTube
Share your videos with friends, family, and the world
Saved
on: 2017-04-04
How to set up your Laravel application for zero-downtime (Envoyer/Capistran
If you've ever worked with Capistrano or Envoyer, you've probably seen a directory structure in your webroot that looks something like this:
root root 4096 Mar 29 18:44 .
root root 4096 Mar 28 14:15 ..
root root 47 Mar 29 14:54 current -> ./releases/1490824249
root root 4096 Mar 29 14:50 releases
Where you're expecting to see your webroot containing your Git repository, instead it's this weird structure. What gives?
A brief introduction to Capistrano-style zero-downtime deploys
The reason you're getting zero-downtime deploy from these tools is because the entire deploy process—clone, composer install, etc.—doesn't happen in the directory that is currently serving your site. Instead, each new release gets its own separate "release" directory, all while your site is still being served from its current "release" directory.
- current -> ./releases/1490802721 * apache/nginx serves from this directory
- releases
- 1490802133 (the new release you're building right now)
- 1490802721 (latest complete release)
- 1490803081 (a little bit older release)
- 1490824249 (an even older release)
All of these release directories are just subdirectories of releases. Each directory here represents one of your deploys, and each directory individually has everything needed to serve your site. Your web server points to yourproject/current/public and therefore the "currently served" release is just that which has a symlink pointed at it from yourproject/current.
So, once the build process is complete for each new release, your deploy tool will delete the current symlink and create a new current symlink that points to your latest release. Boom. Now that release is live.
Caveats
In general, Laravel is no different from any other project in that this style of deployment works great. In fact, a tool provided by Taylor Otwell, Envoyer, is predicated around this release style.
However, every tool has a different set of caveats around how to handle them well in zero-downtime settings. Here's why:
There are always some things that you want to persist between releases. Most of it lives in databases and caches, which is fine—nothing's wiping your database on every deploy. But some isn't. Take the storage folder; do you want to wipe that every time you push a new release? Naw. What about the .env file? Definitely naw. So there are a few quick tricks.
How to set up your deploy for Laravel
Remember: If you use Envoyer, this is all handled for you. But if you don't, here's what to do.
Clone your release into a new release folder. This should be handled by your deploy tool.
composer install -o --no-interaction
php artisan migrate --no-interaction --force
(optional, if you don't commit your built scripts) npm install (or yarn) and either gulp --production (Elixir) or npm run production (Mix)
rm -rf storage && ln -s ../../storage ./
(Delete the storage directory and symlink it to a storage folder in the parent)
ln -s ../../.e
Saved
on: 2017-03-31
Typography, the right way with JoliTypo
Most of content on the web are full of typography mistakes—and I will not talk about grammar, that's another story. Content of your website is like your code, if it’s not well indented, if you don't put a carriage return in the right place, if you don’t respect code standard and
Tags:
#php
Saved
on: 2017-03-24
How to Build a NASA Photo Gallery with Zend Expressive — SitePoint
Saved
on: 2017-03-22