The Three Devs & A Maybe podcast has posted their latest episode with guest Justin DeLucia. In this new episode they try out something different – a full, dedicated Q&A episode.
This week we have good friend of the show Justin DeLucia on to help host our first dedicated Q&A episode. Not only that, but Fraser is back! along with some crazy adventures that he discusses since his last time on the show. We have been fortunate to receive many questions throughout the past couple of weeks, and thought it would be good to release the answers as a dedicated show. Topics discussed include, breaking into the industry, the PDO vs. Mysqli debate, bespoke vs. off-the-shelf CMS debate and what to consider when building a Web API.
Other topics mentioned in this latest episode include: the Doctrine project, mutual recursion, Laravel Forge and Phil Sturgeon’s book Build APIs You Won’t Hate. You can listen to this latest episode either through the in-page player or by downloading the mp3 directly. If you enjoy the show, consider subscribing to their feed too.
There’s a good conversation happening over on Reddit today about what constitutes the „PHP community“ and how it can be defined. JordanLeDoux wonders if those who just write PHP are included in that group as well.
One conversation was with a dev who hates PHP because (mostly) they work with code that was written by some non-PHP dev who was asked to write it. The other was with /u/krakjoe from the PHP internals team, where I was commenting on a sentiment that sometimes finds its way into the internals mailing list: if you want a real programming language, then go use one.
In both cases, I made the assertion that most people who utilize PHP or edit a script aren’t actually part of the PHP community. […] How can someone that is functionally isolated from any other person working in PHP be part of the PHP community?
Responses to the post are, for the most part, encouraging suggesting that
- There’s not a single „PHP community“ but many smaller ones
- sub-communitiies can revolve around technology or a product
- The different definitions of community
- The broad range of skills that „PHP developers“ are known to have
Check out the full post for more opinions and share your own!
The SitePoint PHP blog has posted the first two parts of a „Social Network Authentication“ series looking at connecting your application with social network systems. In these first two posts they help you get things set up to connect to the remote systems and create an actual connection to Google+.
Almost every website which contains a log in option, also contains ways to log in through different social networks. In this series of articles, we will take a look at how we can make sure that our visitor can log in through Google+ and eventually other networks like Twitter and Facebook. In the final article, we will have a close look at how we can make sure users don’t have different accounts due to the fact that they used different social networks. We will create a framework agnostic package which can easily handle users from different social networks. In this part, we will have a look at our basic setup.
The first tutorial helps you get things all set up and takes the first steps in making the „SocialLogin“ package. In the second tutorial they use this package structure to create a Google+ specific instance, making the OAuth connection as simple as calling a method, loading a URL and handling the response.
On the Symfony blog there’s a recent post about a new effort being started to help improve REST in Symfony-based applications. William Durand talks about some of the current tools and some of the missing features/difficulties each has. This effort wants to help change that.
Building APIs with Symfony is not new. We’ve done that since the early beginning of Symfony: Askeet, Jobeet, it’s been a long time! Nowadays, more and more web applications are made of an API and a client side application. Sharing data across applications using APIs also became an essential feature. […] For most of us, it is not as clear as it should be, and we can certainly do better than what we have right now! Hence the creation of a working group to gather both people and knowledge for REST in Symfony: https://groups.google.com/forum/#!forum/resting-with-symfony.
The target of the group is just about anyone associated with the development of APIs: developers who build them, developers to contribute to Symfony’s REST functionality, people with questions about REST and, really, anyone else interested. It’s a part of their wider developer experience initiative they’ve recently ramped up.
PHPBuilder.com has offered the top eleven practices they see as a must for any PHP developer to incorporate.
Right from its inception, PHP was widely used to develop web based applications. Since PHP is a scripting language, one must follow some rules while developing. This article will discuss the best practices that are generally followed in the PHP world.
Their „top eleven“ list includes things like:
- Error reporting should be turned on
- Meaningful and consistent naming standards
- Deep Nesting should be avoided
- Use adequate comments
- Use Cache mechanism wherever required
You can read up on their full list and the descriptions of each in the full post.
On the SitePoint PHP blog a new tutorial has been posted from Peter Nijssen showing how to install and configure PHP-CI, a continuous integration library for PHP.
Creating an application is one thing. Keeping it to a certain quality level is another thing entirely. These days, you can find many tools which can help you to keep the quality of your application in shape. Running these tools one by one can be very time consuming. For that, you can install so called continuous integration (CI) services. PHPCI is one of those and in this article, we will dive into it.
The article links you to the latest release and how to install all needed dependencies via Composer. With it set up, they help you add a project and run a sample build. The configuration includes execution of the unit tests, PHP mess detector, PHP code sniffer, CPD, docblock checker and the PHP lines-of-code toolset.
Recent releases from the Packagist:
- kebir/menu-generator (0.1-rc5, 0.1-rc4, 0.1-rc3)
Simple Menu Generator
- orchestra/platform (v2.2.2)
Orchestra Platform 2
- t1st3/t1st3-assets (0.13.2, 0.13.1, 0.13.0, 0.12.1, 0.12.0)
Assets used for T1st3’s projects
- xj/yii2-rbac-module (1.0.0)
- krisanalfa/blade-foundation (0.1.2, 0.1.1)
Blade Theme Based on Zurb Foundation
- unclecheese/betterbuttons (1.2.0)
Adds new form actions and buttons to GridField detail form for usability enhancements.
- nasext/sorting-control (v2.1)
Sorting control for Nette Framework
- rfg/ongage-lib (0.1)
This library is an implementation of the Ongage API. © Retail Food Group Ltd, 2014
- tableau-mkt/elomentary (v0.1.0, 0.1.0)
The simple PHP Eloqua REST API client; object oriented, tested, and documented for PHP 5.3+.
- kilte/reflection-factory (1.0.0)
It helps you to create instances of a various classes via reflection.
- embed/embed (v1.5.2)
PHP library to retrieve page info using oembed, opengraph, etc
- alexkovalevych/jira-api (1.0.4)
Jira api php library
- jacobsteringa/odoo-client (0.0.1)
A PHP Client for Odoo
- raulfraile/ladybug-bundle (v1.0.3)
Symfony2 bundle for Ladybug library (Simple and Extensible PHP Dumper)
- storage-factory/storage-factory (2.3.0)
Factory class that creates either File Storage or Directory Storage PHP 5.2.17 and up
- spomky-labs/oauth2-server (v1.0.0-beta3)
OAuth2 Server library
- ftven/team-lib (1.0.0)
Team helper classes/services
- ftven/cli-amqp-extension (1.0.0)
AMQP helper classes/services for CLI Tools
- ftven/cli-common (1.0.0)
Common CLI helpers classes
- opis/database (1.4.0)
Database abstraction layer
- ftven/common-lib (1.0.0)
- daftlabs/laravel_base_controllers (0.11.3)
- daftlabs/mail (0.2.0)
- pepegar/streams-php (1.1)
A port of the Streams library for Java8. Let’s make PHP cooler.
- avisota/contao-subscription-notification-center-bridge (2.0)
Notification center bridge for the Avisota subscription system.
- avisota/contao-subscription (2.0)
Subscribe core system for Avisota.
- avisota/contao-message-element-text (2.0)
The text message element.
- avisota/contao-message-element-table (2.0)
The table message element.
- avisota/contao-message-element-news (2.0)
The news message element.
- avisota/contao-message-element-list (2.0)
The list message element.
- avisota/contao-message-element-image (2.0)
The image message element.
- avisota/contao-message-element-hyperlink (2.0)
The hyperlink message element.
- avisota/contao-message-element-headline (2.0)
The headline message element.
- avisota/contao-message-element-gallery (2.0)
The gallery message element.
- avisota/contao-message-element-event (2.0)
The event message element.
- eltrino/orocrm-ebay-bundle (v1.0.0-beta1)
OroCRM eBay Integration Bundle
- avisota/contao-message-element-downloads (2.0)
The downloads message element.
- avisota/contao-message-element-download (2.0)
The download message element.
- avisota/contao-message-element-article (2.0)
The article message element.
- avisota/contao-core (2.0)
Avisota newslettersystem for contao
- avisota/contao-message (2.0)
Manage messages within the backend.
- avisota/contao-message-renderer-mailchimp (2.0)
Renderer that use MailChimp templates.
- avisota/contao-salutation (2.0)
Individual salutation module for Avisota.
- avisota/contao-subscription-recipient (2.0)
Independent recipients support for Avisota.
- avisota/core (1.1.2)
Avisota mailing system core components
- eventviva/php-image-resize (1.1.2)
PHP class to re-size and scale images
- szykra/gitlab-hook-receiver (0.1.0, 1.0.0)
Easy way to configure task after Gitlab `on push` hook.
- xi/filelib (v0.12.1, v0.12.0)
File library for PHP
- zendframework/zendservice-flickr (2.0.2)
OOP wrapper for the Flickr web service
- onelogin/php-saml (2.1.0)
OneLogin PHP SAML Toolkit
- akeneo/pim-community-standard (v1.1.1)
The „Akeneo Community Standard Edition“ distribution
- kitpages/data-grid-bundle (v1.11.0)
- philipbrown/worldpay (v1.1.4)
A PHP wrapper for WorldPay
- kilte/silex-mysqli (1.0.1)
MySQLi service provider for Silex
- contao-community-alliance/dc-general (2.0.0-beta12)
Universal data container for Contao
- maikay/maihash (1.0.0)
simple tool to generate a random hash
- hoborglabs/dashboard (v1.1.11)
Simple dashboard system.
- drupal/tangler (0.1.2)
- bit3/contao-twig (1.10.1)
Twig integration for Contao OpenSource CMS
- opensoft/inkrouter-php-sdk (1.0.2)
Small sdk for connecting to OpenSoft Job Submission Interface
- php-objects/php-objects (0.9.3)
Primitive types behaving like grown up objects
- ibrows/loggable-bundle (0.18)
Extended Loggable Bundle
- ibrows/sonata-translation-bundle (1.0.10, 1.0.9)
Integration of lexik translation into sonata admin
- ydle/hub-bundle (0.5.26)
Ydle Main Bundle
- ibrows/translation-helper-bundle (1.2.0, 1.1.0)
Symfony Translation Helper Bundle
- ingenerator/kohana-errors (0.1.1)
Basic improved kohana custom error pages for CLI and web use
- stefanotorresi/my-backend (2.0.0-beta)
A Zend Framework 2 module that glues a bunch of packages to lay down the base for an admin backend UI.
- drupal/console (0.2.5)
Drupal 8 Console scaffolding module generator
- theunraveler/todo_by (1.1.0)
Add date-specific todos to your code
- jenssegers/oauth (v1.1.1)
Laravel OAuth library based on Lusitanian/PHPoAuthLib
- sdebacker/typicms (1.3.11)
Multilingual CMS build with Laravel 4.2
- jeroen-de-dauw/batching-iterator (1.0)
Iterator that batches requests for more values
- bearlikelion/twig-debugbar (1.0.0)
A Twig extension to provide access to PHP Debug Bar’s rendering functions.
- rindeal/phpfastcache (2.1.3, 2.1.2, 2.1.1)
A working fork of PHP Fast Chache library
- bit3/contao-doctrine-orm (2.2)
Doctrine ORM for Contao CMS
- syrup/component-bundle (1.7.0)
- gushphp/gush-bitbucket-adapter (1.1.1)
Bitbucket adapter for Gush
- vlucas/spot2 (2.0.4)
Simple DataMapper built on top of Doctrine DBAL
- zacao/slimvc (v1.0.0)
MVC Skeleton/Boilerplate for the Slim framework
- dadleyy/lvpress (1.2.0)
- opauth/amazon (0.4)
Amazon strategy for Opauth
- apnet/symfony-standard-edition (184.108.40.206, 220.127.116.11, 18.104.22.168)
The „Symfony Standard Edition“ distribution
- gushphp/gush-jira-adapter (1.1.0)
Jira Gush Adapter
- jalle19/simple-json-rpc-client (1.0.6, 1.0.5, 1.0.4)
Simple JSON-RPC 2.0 client which utilizes Zend for HTTP functionality
- henrikbjorn/stampie (0.8.0)
A Postmarkapp API Mailer
- kwizer15/highcharts (4.0.3)
- tomaj/prepositioner (1.1.1, 1.1.0)
Preposition replace library
- bratao/prediction-io (1.0.5)
Laravel PredictionIO Client
- jalle19/yii-yui-clientscript (1.0.2)
The end-all, be-all minifying client script implementation for Yii
- oneafricamedia/html (v01.0)
- zeroclipboard/zeroclipboard (2.1.5, 2.1.4)
- c33s/attachment-bundle (v0.3.1)
Attach files to any (Propel) object using Symfony2
- zfr/zfr-oauth2-server-module (0.5.0)
Zend Framework 2 module for ZfrOAuth2Server
- ministryofjustice/opg-core-public-domain-model (0.20.5)
Domain model for the OPG Core project
- zfr/zfr-oauth2-server (0.5.0)
PHP library to create an OAuth 2 server
- lelesys/starter-site-corporate-distribution (1.1.0)
Lelesys Starter Site Distribution – Corporate
- lelesys/starter-site-corporate (1.1.0)
Site package for the TYPO3 Neos Corporate site.
- c33s/core-bundle (v0.100.0)
everything to quickstart a webpage
- bariew/yii2-doctest-extension (1.3.0, 1.2.2)
Executes @example docBlock params as test cases
- mapshub/t-cache (v1.3)
Library that provides caching table data for fast search and indexing
- phppro/audit-lib (1.0.1, 1.0.0)
PHPPRO Audit Lib
- restler/framework (3.0.0-RC6)
Just the Restler Framework without the tests and examples
- luracast/restler (3.0.0-RC6)
Restler is a simple and effective multi-format Web API Server framework written in PHP. Just deal with your business logic in php, Restler will take care of the REST!
- go/db (2.2.1)
- skullyframework/skully-admin (v0.1.2)
Admin for Skully Framework.
- zeecoder/capifony-deploy-info-bundle (v0.1.5, v0.1.4, v0.1.3, v0.1.2, v0.1.1)
- 2amigos/yii2-leaflet-awesome-plugin (0.1.0)
Yii2 Leaflet plugin to create map icons using Font Awesome Icons.
- bit3/php-callback-filter-iterator-polyfill (1.0)
Use the CallbackFilterIterator in PHP <5.4
- amyboyd/mongrate-bundle (0.1.0)
Symfony bundle for Mongrate
- svabael/social-oauth (v1.0.0)
Oauth consumer for multiple social networks
- baum/baum (1.0.11)
Baum is an implementation of the Nested Set pattern for Eloquent models.
- dehare/config-loader-service (v1.0.2, v1.0.1)
Service for loading configurations into Symfony/Silex
- ebidtech/geoziplocation (v0.5.6)
Geo zipcode location
- amyboyd/mongrate (1.0.0, 1.0.0-beta-1)
A command-line tool for applying migrations to a MongoDB database
- phppro/pipeline-lib (1.0.0)
PHPPRO Pipeline Lib
- rybakit/phive-queue (v0.8.0)
$ queue->push(‚I can be popped off after‘, ’10 minutes‘);
- phppro/common-lib (1.0.0)
PHPPRO Common Lib
- altek/sharepoint-client (v0.2.0)
SharePoint REST API Client
- imsamurai/cakephp-advancedshell (1.3.1)
Advanced feutures for cakePHP shell
- swarrot/swarrot (v1.2.6)
A simple lib to consume RabbitMQ queues
- payment/saferpay (2.2.4, 3.0.2)
Saferpay payment service library
- nella/forms-datetime (v1.0.2, v0.9.2)
Date/DateTime control for Nette Forms.
- hampel/useradmin (1.1.0)
User login and management package for Laravel
- betsol/assets-referencer-bundle (v1.0.0)
Assets referencer bundle for Symfony
- hampel/alerts (1.2.2, 1.1.4)
Package for managing Laravel session messages and alerts in view responses
- themosis/themosis (0.9.1)
The Themosis framework. A framework for WordPress developers.
- betsol/assets-referencer (v1.0.0)
Assets referencer extension for Symfony
- vgnett/silex-spid (1.0)
SPiD service provider for Silex
- bluetea/import-bundle (v1.2.2)
BlueTea ImportBundle for the Symfony2 framework
- fenom/fenom (2.1.2)
Fenom – excellent template engine for PHP
- justimmo/php-sdk (1.0.5)
PHP-SDK for the JUSTIMMO API
- mekras/types (v1.01)
Common data types implementations
- elao/parameterizer-bundle (1.0.1, 1.0.0)
Elao Parameterizer Bundle
- slaxweb/ci-viewloader (22.214.171.124)
View Loader for CodeIgniter
- lelesys/plugin-news (1.0.1)
News plugin for TYPO3 Neos
- tomahawk/framework (0.3.0)
The Tomahawk PHP Framework.
- c9s/GetOptionKit (2.0.3)
Powerful command-line option toolkit
- corneltek/getoptionkit (2.0.3)
Powerful command-line option toolkit
- corneltek/cliframework (1.7.6)
Command-line framework for PHP
- bravo3/bakery (0.0.5-beta)
SSH remote server bakery
- ninjaphp/ninja (0.1.1)
A simple but very effective PHP firewall. It enables you to easily block most SQL and XSS injections. It also includes a white-/blacklisting of IP’s and throttling request using Leaky Bucket.