- PHPMaster.com: Creating a PHP OAuth Server
- NetTuts.com: Building Ribbit in PHP
- Paul Jones: Symfony Components: Sometimes Decoupled, Sometimes Not
- Reddit.com: Your predictions for PHP in 2013?
- James Fuller: 2013 Programming Podcasts for the New Year
- MaltBlue.com: Zend Framework 2 Modules - The Application's Heart
- Smashing Magazine: Starting An Open-Source Project
- Rob Allen: Thoughts on module directory structure
- Lorna Mitchell: Become a ZCE in 2013
- php|architect: December 2012 Issue Released
- Stuart Herbert: Personal Thoughts On The PSR-3 Log Proposal
- Andrew Podner: Why Lithium is Worth a Look
- Freek Lijten: SOLID - The D is for Dependency Inversion Principle
- PHPMaster.com: Adding Text Watermarks with Imagick
- Maarten Balliauw: Working with Windows Azure from within PhpStorm
2014年1月2日星期四
Site News: Blast from the Past - One Year Ago in PHP
Community News: Packagist Latest Releases for 01.02.2014
- components/handlebars.js (v1.3.0)
Handlebars.js and Mustache are both logicless templating languages that keep the view and the code separated like we all know they should be. - dispatch/dispatch (3.0.1, 3.0.0)
a microframework/front-controller - litipk/php-bignumbers (0.4.1)
An opensource library to handle immutable big numbers inside PHP applications - pksunkara/buffer-alpaca (0.1.0)
Buffer API library client for PHP - behat/behat (v3.0.0rc1)
Scenario-oriented BDD framework for PHP 5.3 - oyejorge/less.php (v1.5.1rc2)
PHP port of the Javascript version of LESS http://lesscss.org - pear/net_url2 (v2.0.5)
Class for parsing and handling URL. Provides parsing of URLs into their constituent parts (scheme, host, path etc.), URL generation, and resolving of relative URLs. - phpspec/phpspec (2.0.0-RC3)
Specification-oriented BDD framework for PHP 5.3+ - paulyg/autoloader (v1.0.0)
A simple and lightweight PSR-0 and PSR-4 class autoloader - phpspec/prophecy (v1.1.0)
Highly opinionated mocking framework for PHP 5.3+ - aura/includer (2.0.0-beta1)
Include multiple files from specified directories, in order, with variables extracted into a limited include scope. - erebot/generic-doc (0.1.0)
Generic documentation for Erebot modules - mimmi20/wurflcache (1.1.1)
the Cache Classes for the Wurfl PHP Library for PHP 5.3 - kilte/silex-captcha (1.0.0)
Gregwar/Captcha service provider for Silex. - dunglas/angular-csrf-bundle (v0.1.0)
CSRF protection when using AngularJS with Symfony2 - erebot/dependency-injection (v1.0.4)
A fork of the original Symfony Dependency Injection Container - zumba/symbiosis (v2.0.0)
Symbiosis, event structure for bootstrapping plugins. - ollieread/multiauth (v2.0.1)
Multiple auth driver for Laravel - doctrine/dbal (v2.4.2, v2.5.0-BETA2)
Database Abstraction Layer - zfr/zfr-stripe (v1.1.0)
PHP library for interacting with the Stripe REST API - cangelis/l4pdf (1.0.3, 1.0.1, 1.0.2)
Yet another HTML to PDF Converter for Laravel4 - behat/gherkin (v3.1.2, v3.0.5)
Gherkin DSL parser for PHP 5.3 - happyr/identifier-interface (1.0.0)
Write down your routing mapping at one place - martial/crud-bundle (1.1.0)
This project aims to give a simple way to provide a CRUD service in a SOA Symfony2 project. - webignition/css-validator-output-parser (2.1)
Parser for output from the W3C CSS validator
Rob Allen: Implementing a ZF2 development mode
Rob Allen has shared a method he's found for implementing a Zend Framework v2 in development mode, more specifically for an Apigility installation.
One feature that piqued my interested in the Apigility skeleton application was development mode. [...] Behind the scenes, this [call to public/index.php] runs an action in DevelopmentModeController which copies config/development.config.php.dist to config/development.config.php. Then there is some code in public/index.php that ensures that this file is loaded.
You can then have a ModuleManager instance specifically for the development version and configuration. This allows for a greater amount of customization and removes some requirements you might have had in production. He's also created a module that handles some of this for you automatically you can drop into your installation.
Link: http://akrabat.com/computing/implementing-a-zf2-development-mode/
SitePoint PHP Blog: Nginx, PHP5.5 and Phalcon on OpenShift
On the SitePoint PHP blog today Bruno Skvorc goes through the full installation process around getting Nginx and Phalcon up and running on an OpenShift instance.
In this tutorial, adapted from the step by step trial and error procedure of duythien, and with his full blessing, we'll cover the installation procedure of Phaclon on yet another environment: OpenShift. The procedure is bloody - OpenShift does not make it easy for us to deploy custom environments - but the rewards are well worth it.
As he mentioned, it's not the easiest process, but he's laid it all out there to help make it simple for you. He's broken it up into a number of different steps:
- Setting up your OpenShift account (using the free tier)
- Creating and cloning an application
- Cloning a helper repo with a ".openshift" file included
- Grabbing the latest Phalcon and making the config file to set it up correctly
- Configuring Nginx
Link: http://www.sitepoint.com/nginx-php5-5-phalcon-openshift
Reddit.com: Attempting to understand Namespacing, and its benefits
If you're relatively new to PHP, you may have read about something called "namespacing" but not fully understood it or the benefits it provides. Over on Reddit, there's a recent discussion where the poster asks about just that:
As I understand it, Namespacing provides a lot of useful context for developers, as well as making the autoloading of classes much easier (though I've never personally tried this). I can also see it being used in a large enough application where it might help keep things in scope, but this seems like a bit of a stretch to me. Apart from that, I'm not too clear on what namespacing actually does.
The comments to the thread including things like links to other resources and other suggestions like:
- tools to try out
- places to start using it in your own code
- the difference between underscores and real namespacing
- how they help avoid conflicts in naming and functionality
Link: http://www.reddit.com/r/PHP/comments/1u1ztr/attempting_to_understand_namespacing_and_its
2014年1月1日星期三
Community News: Latest Releases from PHPClasses.org
- MASNathan CurlPackage:Summary:Send HTTP requests with the Curl extensionGroups:Author:Description:This package can send HTTP requests with the Curl extension...
Read more at http://www.phpclasses.org/package/8414-PHP-Send-HTTP-requests-with-the-Curl-extension.html - Smart PHP SEO ToolsPackage:Summary:Generate a report of SEO factors about a Web siteGroups:Author:Description:This class can generate a report of SEO factors about a Web site...
Read more at http://www.phpclasses.org/package/8398-PHP-Generate-a-report-of-SEO-factors-about-a-Web-site.html - PHP Debug HandlerPackage:Summary:Handle PHP execution errors and exceptionsGroups:Author:Description:This class can be used to handle PHP execution errors and exceptions...
Read more at http://www.phpclasses.org/package/8396-PHP-Handle-PHP-execution-errors-and-exceptions.html - Random PassPackage:Summary:Generate a random text string with a given lengthGroups:Author:Description:This class can generate a random text string with a given length...
Read more at http://www.phpclasses.org/package/8410-PHP-Generate-a-random-text-string-with-a-given-length.html - Validate FormatsPackage:Summary:Validate string values in different formatsGroups:Author:Description:This class can validate string values in different formats...
Read more at http://www.phpclasses.org/package/8412-PHP-Validate-string-values-in-different-formats.html - PHP Apple Push Notification ServicePackage:Summary:Send push notifications to Apple devicesGroups:Author:Description:This class can send push notifications to Apple devices...
Read more at http://www.phpclasses.org/package/8405-PHP-Send-push-notifications-to-Apple-devices.html
Community News: Packagist Latest Releases for 01.01.2014
- vespakoen/menu (2.0.8, 2.0.7, 2.0.6)
Managing menu's the easy way. - titon/utility (0.10.8, 0.10.7)
The Titon utility package provides convenience classes for basic tasks like validation, formatting, sanitization and more. - titon/view (0.4.5, 0.4.4)
The Titon view package provides template handling with the use of a rendering engine and helpers. - vipsoft/code-coverage-extension (2.5.0.3)
Behat code coverage collector - titon/cache (0.5.4, 0.5.3)
The Titon cache package provides a data caching layer that supports multiple storage engines. - titon/g11n (0.10.7)
The Titon g11n package handles the localization and internationalization of your application. - titon/route (0.9.0)
The Titon route package adds support for dynamic route handling and mapping. - titon/mvc (0.8.1)
The Titon MVC package adds support for the Model-View-Controller paradigm by packaging the external Model, View, Controller and Route packages into a single package. This single MVC package has full application support. - titon/type (0.8.1)
The Titon type package provides class like structure and advanced functionality for arrays, strings, objects and enums. - titon/common (0.9.3)
The Titon common package provides global functionality like class traits and augmentation as well as dependency and configuration management. - malwarebytes/form-metadata-bundle (1.0.0)
Use annotations with the forms builder e.g. @FormField("text"). Associates metadata along with the entity class. Useful to make more generic controllers that can deal with dynamic entities (such as CMS scenarios). - voodoophp/voodoo (1.14.0)
A micro PHP 5.4 Modular MVC framework, that contains only the libraries to get you started - sarasa/core (v0.3.1)
PHP Core Framework for PHP 5.3 - redisent/redis (1.10)
A simple, no-nonsense interface to the Redis for modest developers. It is designed to be flexible and tolerant of changes to the Redis protocol - phpoffice/phpexcel (1.8.0rc1)
PHPExcel - OpenXML - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine - acelaya/zf2-acmailer (v1.7.0)
Mail sending module for Zend Framework 2 - creolab/laravel-modules (0.5.0)
Application specific modules in Laravel 4 - g4/russian-doll (0.1.0)
russian-doll php library - webignition/css-validator-output-parser (2.0)
Parser for output from the W3C CSS validator - behat/gherkin (v3.1.1)
Gherkin DSL parser for PHP 5.3 - rawebone/service-provider (v1.0)
This library provides a mechanism for exposing services into your application, similar to the concepts of Facades from Laravel. - hurad/hello-world (v0.1.0)
Hurad Hello World Plugin - xiidea/easy-audit (1.2.0)
A Symfony2 Bundle To Log Selective Events. It is easy to configure and easy to customize for your need - simplon/mysql (0.1.4)
Simplon MySQL Library - nuked-klan/gamer-standard-edition (1.7.9)
CMS for Gamers - simonstamm/laravel-pjax (v0.5)
PJAX for Laravel 4 with redirection-support - enrise/epic-devtools (1.0)
Development tools for Enrise team epic. - josegonzalez/dotenv (0.0.4, 0.0.2)
dotenv file parsing for PHP - atkrad/akismet (v0.1.1)
Hurad Akismet Plugin