PHP Community
Code complexity and clean code
Code complexity and clean code
MicroOLAP Database Designer for PostgreSQL v1.9.0 released
The MicroOLAP team is proud to introduce Database Designer for PostgreSQL v1.9.0, an comprehensive CASE tool with intuitive graphical interface allowing you to
- build a clear and effective database structure visually,
- see the complete picture (diagram) representing all the tables, references between them, views, stored procedures and other objects,
- easily generate a physical database on a server,
- modify it according to any changes you made to the diagram using fast ALTER statements,
- import already existing diagram from a server,
- export diagram to common graphic formats or as SQL script,
- create detailed printings and reports.
You're welcome to download the Database Designer for PostgreSQL 1.9.0 right now at: http://microolap.com/products/database/postgresql-designer/download/
FeedbackPlease don't hesitate to ask any questions or report bugs with our Support Ticketing system available at http://www.microolap.com/support/
Full changelog:- [!] New compiler used in development
- [!] New exception tracer tool used
- [-] "Designer doesn't restore itself to maximized state after restart" bug fixed
- [-] "Modify Database ignores output script character case option" bug fixed
- [-] "Reverse Engineering warns that diagram is not empty even though it clearly is" bug fixed
MicroOLAP Database Designer for PostgreSQL v1.9.0 released
The MicroOLAP team is proud to introduce Database Designer for PostgreSQL v1.9.0, an comprehensive CASE tool with intuitive graphical interface allowing you to
- build a clear and effective database structure visually,
- see the complete picture (diagram) representing all the tables, references between them, views, stored procedures and other objects,
- easily generate a physical database on a server,
- modify it according to any changes you made to the diagram using fast ALTER statements,
- import already existing diagram from a server,
- export diagram to common graphic formats or as SQL script,
- create detailed printings and reports.
You're welcome to download the Database Designer for PostgreSQL 1.9.0 right now at: http://microolap.com/products/database/postgresql-designer/download/
FeedbackPlease don't hesitate to ask any questions or report bugs with our Support Ticketing system available at http://www.microolap.com/support/
Full changelog:- [!] New compiler used in development
- [!] New exception tracer tool used
- [-] "Designer doesn't restore itself to maximized state after restart" bug fixed
- [-] "Modify Database ignores output script character case option" bug fixed
- [-] "Reverse Engineering warns that diagram is not empty even though it clearly is" bug fixed
Development By The Numbers - Slides
PHPMaster.com: Understanding HTTP Digest Access Authentication
On PHPMaster.com they've posted a new tutorial by Sean Hudgston that helps you understand HTTP digest authentication, a simple way to authenticate a user or script against your application.
Digest Access Authentication is one method that a client and server can use to exchange credentials over HTTP. This method uses a combination of the password and other bits of information to create an MD5 hash which is then sent to the server to authenticate. Sending a hash avoids the problems with sending a password in clear text, a shortfall of Basic Access Authentication.He starts out by looking at the "basic authentication" mechanism that's built into most web servers and points out that it has a major flaw - sending the username/password in (pretty much) plain text. Digest, on the other hand, uses a MD5 hash created from a few pieces of information including username, realm and request method. The result is sent as a header back to the server that can then be parsed by PHP. He also talks about improving on the basic version of the digest method using the qop, nc, and cnonce optional parameters.
Link: http://phpmaster.com/understanding-http-digest-access-authenticationNetTuts.com: How to Create a PyroCMS Theme
On NetTuts.com today there's a new tutorial posted showing you how to create a theme for PyroCMS, an open source, PHP-based content management system with a large user base and community.
Like most content management systems, PyroCMS uses front-end themes. Though PyroCMS themes are built a bit differently than what you might be used to from other systems, they're still quite easy to create. They're so easy, in fact, that very little PHP experience is required to assemble them!He walks through things like the folder structure of the templates directory and how to get started on a custom "Foo" theme of your own. He covers how to lay out the HTML markup for the theme and how you can use partials for the sections of the site. He briefly touches on using multiple layout files and how to use different layouts shown only to mobile devices.
Link: http://net.tutsplus.com/tutorials/php/how-to-create-a-pyrocms-themeGonzalo Ayuso: Google App Engine, PHP and Silex. Setting up a Login Provider
Gonzalo Ayuso has a new post to his site today showing how to use the recently released PHP support for the Google App Engine along with Silex to create a login provider.
Last week Google announced the PHP support for Google App Engine (GAE). PHPStorm, the great IDE for PHP development, also announced support for Google App Engine PHP. Because of that now is time to hack a little bit with this new toy. [...] To build a simple Silex application over Google App Engine is pretty straightforward (more info here). Because of that we're going to go a little further. We are going to use the log-in framework provided by GAE to log-in with our Goggle account within our Silex application. In fact we can use the standard OAuth authentication process but Google provides a simple way to use our gmail account.He includes the code showing what the end result will look like as well as what's needed for the "LoginProvider" class. He also creates an "Auth" class where most of the work is done - creating the login URL, redirecting the user and checking to see if the user is logged in. He's made a screencast of the full process so you can see the authentication flow as its happening.
Link: http://gonzalo123.com/2013/05/20/google-app-engine-php-and-silex-setting-up-a-login-providerMichelangelo van Dam: Survived php tek 2013
If you weren't able to make it to this year's php|tek conference in Chicago, Michaelangelo van Dam has posted a great wrapup of the event and some of the things that happened during the week.
If you were last week in Chicago, you've might felt the city was buzzing PHP all over the place. php[tek] 2013 was taking place at the Sheraton Gateway Suites Chicago O'Hare in Rosemont, just outside of Chicago city. This year it was also the first time Musketeers.me, a php consulting team from the East Coast, was running the show, putting their own signature onto the event. And with great success I might add. A well deserved applause to Eli White, Kevin Bruce, Sandy Smith, Oscar Merida and of course the Beth Tucker Long for their unlocked achievement running a great conference.He talks about running the unconference for this year's event and one talk that resonated with a lot of people at the conference, Ed Finkler's "Open Sourcing Mental Illness". He also goes through some of the other regular sessions talks he found interesting covering things like security, refactoring, and dealing with distractions during work. He also mentions the hackathon and some of the good work that was done there.
In my experience the best php[tek] ever, and I'm really looking forward to the 2014 edition. If you don't believe me, have a look at the pictures taken at php[tek] 2013. They will tell the story. Link: http://www.dragonbe.com/2013/05/survived-php-tek-2013.htmlCommunity News: Packagist Latest Releases for 05.21.2013
- heydon/uarray (v1.0.0-beta1)
Allow manipulation of PICK Dynamic Arrays in PHP for use with RockSoftware's U2 products
- mjohnson/transit (1.1.1)
A file uploader, validator, importer and transformer library.
- bitgandtter/google-bundle (0.2.1, 2.0)
Integrate the Google Platform into your Symfony2 application.
- trsteel/ckeditor-bundle (v1.1)
Symfony2 bundle for easy integration of the CKEditor WYSIWYG
- torohill/php-template (1.2.0, 1.1.0)
A very basic template class that uses PHP as the templating language.
- aequasi/memcached-bundle (1.3.6, 1.3.5, 1.3.4, 1.3.3, 1.3.2)
Memcached Bundle
- thrace/datagrid-bundle (v1.0.0)
This bundle provides easy creating of jqGrid datagrids
- thrace/component-bundle (v1.0.0)
Components used by thrace-project bundles
- segmentio/analytics-php (0.4.5)
Segmentio Analytics PHP Library
- phundament/app (0.20.4)
Yii Application Boilerplate, with packages from composer repository http://packages.phundament.com
- beatnode/tumblr (1.0.0)
Wrapper for the offical Tumblr SDK to provide authentication
- phundament/p3admin (0.12.3)
Yii application info and skeleton
- zircote/rhubarb (0.1.4)
A PHP Celery Client Implementation
- jenwachter/html-form (0.2)
A PHP library designed to make creating, validating, and maintaining forms easier.
- shark/formlogger-bundle (v2.3.1, v2.3)
Log Symfony Forms
- thadafinser/zfc-datagrid (0.3.1, 0.3.0)
Zend Framework 2 Module that provides a datagrid for different datasources and output formats
- wowo/wowo-newsletter-bundle (v1.2.7, v1.2.6, v1.2.5, v1.2.4)
Newsletter Bundle for Symfony2 (with messages queuing in beanstalkd)
- wowo/wowo-queue-bundle (v1.3.1)
The WowoQueueBundle provides unified method for use queue systems, like Beanstalkd, RabbitMQ, flat files, database driven queues etc.
- paypal/sdk-core-php (v2.4.0)
PayPal Core SDK for PHP
- paypal/adaptiveaccounts-sdk-php (v3.4.102)
PayPal adaptiveaccounts SDK for PHP
- merk/dough (v1.1.4)
This library provides an immutable money library, including currency conversion support.
- slevomat/sglogistics-api (1.13)
SG Logistics client API Library
- opichon/autotabs (2.0.8, 2.0.7, 2.0.6, 2.0.5)
JQuery plugin to generate tabs from page markup
- rah/rah_autoload (0.2.1, 0.2.0)
Loads Composer generated autoload files in Textpattern CMS
- studiobonito/silverstripe-publishable (1.0.3)
Publishable is a module for Silverstripe that provides a number of extensions that make enabling and managing versioning for DataObjects much simpler.
- simplon/db (1.2.2)
Simplon DB Libraries
- ze-pequeno/pequeno-spotify-module (1.0.2)
Zend Framework 2 Module for Spotify Web API
- n98/magerun (1.68.1)
Tools for managing Magento projects and installations
Community News: Latest PECL Releases for 05.21.2013
- xhprof 0.9.3
-- Just updating the pecl package to https://github.com/facebook/xhprof/commit/254eb24dcfa763c76c57b472093ebc4b81af2b7d
-- Request #16544: Mac port for XHProf (svilen spasov)
-- fix #16574: require/require_once not special cased like include/include_once (kannan)
-- add a sanity test for sampling mode in xhprof (kannan)
-- add support to ignore functions (such as call_user_func) during profiling (mike paleczny)
-- fix #16098: suppress notices due to use of FILE_BINARY (kannan)
-- add a sanity test for timer (kannan)
-- fix for compile error on debian linux (russ)
- fribidi 1.1
Requires GNU FriBidi version 0.19.1 or later.
- pq 0.4.0
* Added pqConverterInterface and pqConnection::setConverter()
* Added pqResult::desc() and fixed pqStatement::descAsync()
* Added serializer for input array params
Symfony Blog: New in Symfony 2.3: Small things matter
On the Symfony blog today Fabien Potencier talks about some small things that matter - some of the smaller updates that have been made to the Symfony 2 framework recently that have helped to make it better and more flexible.
Every new Symfony release tries to brings some small but useful improvements. Let's dive into some of them for Symfony 2.3 (in no particular order).Things in his list include:
- A text-based output of the exception handling stack trace
- A default configuration for the Serializer component
- The ability to run the framework in a production environment in development
- An update to make debugging configuration parameters easier
- Conversion process of short controller names
- Overload generated code in the bundle bootstrapping code
Check out the post for the rest of the changes on his list and check out the RC1 of Symfony 2.3.0 to see some of them in action.
Link: http://symfony.com/blog/new-in-symfony-2-3-small-things-matterPHP Town Hall Podcast: Episode #7 - Web Sockets Are Fast
The PHP Town Hall podcast has posted a new episode - Episode #7: "Web Sockets Are Fast".
Chris Boden joins us to talk about a Ratchet and React. The conversation is basically Ben and Phil asking a bunch of questions about how Ratchet works, pretending we know what is going on while Chris uses lots of words like "concurrency" and "non-blocking". We decide that PHP is web-scale, event-driven programming is not just for NodeJS hipsters, we all take the "Are You a Brogrammer" test and Michael Wales crashes the show half way through like a ninja.You can listen to this latest episode either through the in-page player or by downloading the episode directly. You can also subscribe to their feed if you'd like the latest shows as they're released.
Link: http://phptownhall.com//blog/2013/06/18/episode-7-web-sockets-are-fastDear Ed (A response to Open Sourcing Mental Illness at php[tek] 2013)
Note: this post is personal, and may contain triggers for those suffering through grief. Due to it’s nature, I did pass it by Ed before posting it publicly, as every body is different when dealing with their mental illnesses, and this is such a complex topic that it’s difficult to talk about without drawing broad brush strokes that may offend some people. Please keep in mind that this is [some of] my thoughts on this very complicated subject, and you are free to disagree.
Dear Ed,
I felt that I needed to write this letter to you, and I wanted it to be open because I think it’s an appropriate way to participate in open sourcing mental illness. Consider this a pull request of sorts. The only way to remove the stigma around this topic is by talking frankly and openly about it.
I’m writing this (specifically) in response to the talk you gave at php[tek] last week. I remember first meeting you, at php|tek (as it was then known) in Chicago, sometime around 2003-4, one of my first conferences. You had some local friends meeting you there and we all hung out at the hotel bar. It was fun. But I remember the intimidation of meeting this hard core rock looking dude that I didn’t think I could possibly fit in with and relate to.
I was expecting to find a rough biker type dude, that would beat me up if I said the wrong thing… And I remember you were very intense (which I now know was passion) and I remember the change that came over your entire demeanor when you started talking about your son… The warmth and joy that I saw made me think “holy crap, this guy is just an awesome dad. I like this guy!”. Someone else has described this phenomenon as you turning into a pile of goo. As a fairly new father myself I now understand that so much better — thanks for being one of my first peer role models for being a father.
I don’t suffer from the kinds of mental illness you (we?) are trying to help, I have some very irrational (but “normal”) fears – needles and bugs, especially wasps and spiders – and travel stresses me out (TripIt Pro is so fantastic for helping me with that, ask me if you want details
.
I do however have experience with depression, and related things. I lost my father at age 11, and I lost my (first) wife at 22. These were traumatic, depressive, insane things to go through.
But I did get through them, and I feel stronger and happier at this end of that path. Thanks to folks like Ligaya Turmelle, Joey Smith, Matthew Turland and all three Elizabeths (Smith, Naramore and Tucker-Long), who have all at one time or another been a shoulder for me, I am now in a place where I can be laid back about most issues that many people simply can’t (the things that stress you out and cause anxiety on a daily basis). I live by “It is what it is”. But most folks can’t do that.
It is very difficult for me to relate to what people suffering from mental illness have been through in a lot of ways. The kinds of things I suffered from are considered “normal”, a part of the grieving process, and a temporary state; I personally don’t see it as the same thing as clinical depression — though they can lead to it — but “in the moment” they possibly are very similar.
I do however live with mental illness every day. My wife is bipolar (diagnosed and treated for about 6 years) and suffers from depression and anxieties. I see how it affects her, even with medication, and I really appreciate some more insight into a lot of things that she (like most people) has trouble verbalizing, so that I can help her handle it.
I don’t think I can help people suffering directly, I have no direct experience to draw from, other than my experiences with grief over a lost loved one… but I’m very open to any question about what I went through, and how I dealt with it from anyone (consider that an open invitation to anyone reading this.) But I wanted to let you know you have my support, admiration, and maybe even a little bit of love (OK a lot: internet hugs!) for opening yourself up to help this community we both hold so near and dear.
So, thank you!
- Davey
7PHP.com: Know Thy PHP User Group Know The Leeds PHP User Group (LeedsPHP)
On 7PHP.com today Khayrattee Wasseem has posted another community interview, this time with Craig Willis the organizer of the Leeds PHP user group in the UK (West Yorkshire).
This is the #1st set of 'Know Thy PHP Usergroup' in an attempt to create more awareness of: what is $this PHP UG about + get to know the leaders/Founders/Community behind it, what is a PHP User Group in general and to personally know all the PHP user goups Around The World - that excites me and I hope you too! This concept is also a good opportunity for new #elePHPants to know about PHP UGs.They talk some about the group itself as well as some of Craig's thoughts about about leading the group. They talk some about the goals of the group, the usual activities of it and how the meetups are planned. There's also a bit about finding sponsors for the group and how it compares to other groups of the same type.
Link: http://7php.com/php-usergroup-leedsphpAndrew Podner: Functional Testing to Improve Quality Assurance (part 1)
Andrew Podner has posted the first part of a new series to his site today. He'll be looking at using functional testing to improve quality of the resulting code and full application.
For this week, I wanted to focus on some different types of automated testing other than unit testing that can help developers build more robust applications and improve both the speed and effectiveness of quality assurance. Specifically, this post is going to focus on functional testing. Functional testing is composed of the tests that you write which are from the user's point of view. A functional test is used to perform quality assurance on all or part of an application utilizing the user interface as a pathway to the application.He gives some examples of functional tests like clicking on buttons, trying a login, checking that the contents of the page are correct. He talks some about the purpose of functional testing and how it differs from unit testing. He suggests the metaphor of a race car - the pit crew would be the "unit testers" and the driver would be the "functional tester", saying whether or not all of the parts of the car are working together as they should for the race. In the next part of the series, he'll talk some about the actual software to automate this process.
Link: http://unassumingphp.com/functional-testing-to-improve-quality-assurance-part-1Community News: Packagist Latest Releases for 05.20.2013
- rocker/server (1.1.6)
Boilerplate that helps you write RESTful web services on top of Slim framework (https://github.com/victorjonsson/PHP-Rocker#php-rocker)
- cypresslab/gitelephant (1.0.0-alpha2, 1.0.0-alpha)
An abstraction layer for git written in PHP 5.3
- clubmaster/quickpay (1.1)
Quickpay payment gateway.
- clubmaster/formextra (1.3)
ClubMaster form extra.
- ze-pequeno/pequeno-spotify-module (1.0.1)
Zend Framework 2 Module for Spotify Web API
- slm/locale (v0.0.1)
Automatic detection of locales for Zend Framework 2
- jeboehm/lampcp (0.5.0)
The linux apache mysql php control panel
- ehough/stash (2.0.1)
Fork of tedivm/stash compatible with PHP 5.2+
- ehough/filesystem (1.0.1)
Fork of Symfony's Filesystem Component compatible with PHP 5.2+
- bitgandtter/google-bundle (0.2)
Integrate the Google Platform into your Symfony2 application.
- egulias/email-validator (1.0.0, 1.0.1)
A library for validating emails
- molajo/fieldhandler (v1.0)
Molajo FieldHandler: Validates and Filters Input; Escapes and Formats Output
- slam/tcpdf (6.0.018)
TCPDF is a PHP class for generating PDF documents.
- tecnick.com/tcpdf (6.0.018)
TCPDF is a PHP class for generating PDF documents.
- bmatzner/fontawesome-bundle (3.1.1)
FontAwesome Bundle for Symfony2
- jpiasetz/oanda (0.5.3, 0.5.1, 0.5.2)
Oanda PHP wrapper for PHP 5.4+
- bmatzner/jquery-ui-bundle (1.10.3)
jQuery UI Bundle for Symfony2
- bmatzner/require-bundle (2.1.6)
RequireJS Bundle for Symfony2
- bmatzner/marionette-bundle (1.0.2)
MarionetteJS Bundle for Symfony2
- alexshelkov/simpleacl (2.0.17)
Simple Access Control List (ACL) for PHP.
- bmatzner/lodash-bundle (1.2.1)
Lo-Dash Bundle for Symfony2
- bmatzner/foundation-bundle (4.1.6)
ZURB Foundation Bundle for Symfony2
- bmatzner/mediaelement-bundle (2.11.3)
MediaElement.js Bundle for Symfony2
- tfox/calendar-bundle (1.0.0)
This bundle allows to render calendars using Twig engine. Additional parameters might be added for each day, month and week.
- f21/paradox (1.3.0)
Paradox is an elegant Object Document Mananger (ODM) to use with the ArangoDB Document/Graph database server.
- n98/magerun (1.68.0)
Tools for managing Magento projects and installations
- phpspec/phpspec (2.0.0-BETA4)
Specification-oriented BDD framework for PHP 5.3+
- phpspec/prophecy (v1.0.2)
Highly opinionated mocking framework for PHP 5.3+
- sindriphp/database (0.6.0)
Database Component (Bifröst)
- mv/mv-blog-bundle (v1.2.2-beta)
Symfony2 Blog Bundle
- uam/datatables-bundle (1.0.0)
Datatables jquery plugin packaged as a Symfony bundle
- moriony/silex-mongo-provider (1.1)
Mongo service provider for the Silex framwork.
- uam/aws-bundle (0.1.3, 0.1.2)
Symfony bundle to provide a wrapper service around AWS S3
- uam/propel-s3object-behavior (0.1.8, 0.1.7)
A Propel behavior that allows objects to save a file to AWS S3.
- rocker/facebook-login (1.0.5)
Package that makes it possible to authenticate against a PHP-Rocker application using facebook (https://github.com/victorjonsson/PHP-Rocker)
- zweifisch/f (v0.0.1)
building blocks for functional php
Survived php tek 2013
If you were last week in Chicago, you've might felt the city was buzzing PHP all over the place. php[tek] 2013 was taking place at the Sheraton Gateway Suites Chicago O'Hare in Rosemont, just outside of Chicago city.This year it was also the first time Musketeers.me, a php consulting team from the East Coast, was running the show, putting their own signature onto the event. And with great success I might add. A well deserved applause to Eli White, Kevin Bruce, Sandy Smith, Oscar Merida and of course the Beth Tucker Long for their unlocked achievement running a great conference.
For me was also the first time I was running the uncon, where attendees and conference speakers could propose talks they wanted to present at the uncon and have other attendees vote for them.
One uncon talk really stood out: "Open Sourcing mental illness" by Ed Finkler (@funkatron) where he discussed the issues people face who suffer a mental illness. It was an emotional talk where Ed described his own experiences and how his mind made him think about things differently then the rest of us. For me it was a real eye-opener and made me understand that there are people that don't really take things for granted.
This year's edition was filed with very good talks and it's almost impossible to give my feedback on all of them. A few talks that I attended really stood out that I would really want to promote here.
Chris Cornut, the driving force behind phpdeveloper.org, talked about "Beyond the Basics: Security with PHP" where he did not just list the top 10 of OWASP, but also gave good advices on how to protect yourself against most of the common attacks. A good closing hint: be better secured than the next guy.
Jeremy Kendall was giving good advice on how to improve your code you wrote a couple of weeks or months ago in his talk "PHP 102: Out with the Bad, In with the Good". What I like about Jeremy is he can bring very complex subjects in an easy, understandable way that even a novice can understand complex software engineering stuff. And so he did with this talk.
One talk I missed which I really wanted to see was the Distractions talk of Sean Prunka, or how to deal with distractions when you're a developer. When I look at the reviews on joind.in I see he did an amazing good job giving this was his first conference talk ever. So hopefully he will do a webinar or an online recording of this talk *hint, hint*.
This year my company was sponsoring the hackathon and can be called a good success, knowing we had to compete against Lego fun party. According to Lorna a bunch of pull requests were made for joind.in (the community feedback platform for conference speakers). And we captured the first pull request on twitter.
Can I get a woot? First @joindin pull request of the night has been merged at #tek13 hackathon!
— Lorna Mitchell (@lornajane) May 16, 2013<script async="" charset="utf-8" src="//platform.twitter.com/widgets.js"/>
At the introduction of the hackathon we also had a nice surprise for Mr. Keith Casey from his colleagues at Twillio where he worked 2 years now.
"/>
Truncated by Planet PHP, read more at the original (another 2560 bytes)
Community News: Latest PEAR Releases for 05.20.2013
5 Reasons Why the Web Platform War is Over: PHP Won with 75% says Google
Read this article to understand why this puts an end to years of false claims that PHP was losing market, as well what it means to Web developers using PHP or other languages.