Active Record:
Propel
Doctrine
Zend_Db
PHP On Pie
http://phpmaster.com/goodbye-codeigniter-hello-laravel/
http://phpmaster.com/an-introduction-to-ctype-functions/
http://phpmaster.com/abstracting-shipping-apis
http://phpmaster.com/better-understanding-random/
http://phpmaster.com/crop-and-resize-images-with-imagemagick/
http://phpmaster.com/base-converting-and-binary-operators/
http://phpmaster.com/extending-twig-templates-inheritance-filters-and-functions
http://phpmaster.com/6-things-to-consider-when-choosing-a-framework/
http://phpmaster.com/consuming-feeds-with-simplepie/
http://www.maltblue.com/zend-framework/simple-zend-framework-2-forms
http://net.tutsplus.com/tutorials/php/aspect-oriented-programming-in-php-with-go/
http://shiflett.org/blog/2011/may/the-accept-header
http://phpmaster.com/a-first-look-at-react/
http://phpmaster.com/practical-aspects-of-the-adapter-pattern
http://phpmaster.com/ruling-the-swarm-of-tests-with-codeception/
http://phpmaster.com/php-traits-good-or-bad/
http://phpmaster.com/string-handling-functions/
http://phpmaster.com/parsing-xml-with-simplexml
http://phpmaster.com/create-a-poll-with-phpixie/
http://phpmaster.com/functional-programming-and-php/
http://phpmaster.com/working-with-slim-middleware/
http://phpmaster.com/avoid-the-original-mysql-extension-1
http://phpmaster.com/simplifying-test-data-generation-with-faker/
http://phpmaster.com/logging-with-psr-3-to-improve-reusability/
http://phpmaster.com/php-and-the-i-1
http://phpmaster.com/dependency-injection-with-pimple
http://phpmaster.com/getting-started-with-varnish/
http://net.tutsplus.com/tutorials/php/supercharge-your-css-with-php-under-the-hood/
http://net.tutsplus.com/tutorials/php/5-helpful-tips-for-creating-secure-php-applications/
http://net.tutsplus.com/tutorials/tools-and-tips/essential-command-line-tools-for-web-developers/
http://phpmaster.com/the-mvc-pattern-and-php-1/
http://phpmaster.com/building-epub-with-php-and-markdown
http://phpmaster.com/preventing-code-rot-101-unit-testing
http://net.tutsplus.com/tutorials/other/run-your-own-tinyurl-service-with-phurl/
http://net.tutsplus.com/tutorials/php/easy-package-management-with-composer/
http://net.tutsplus.com/tutorials/php/organize-your-next-php-project-the-right-way/
http://net.tutsplus.com/tutorials/php/increase-productivity-by-creating-php-helper-functions/
http://net.tutsplus.com/tutorials/php/quick-tip-7-super-handy-php-functions-for-beginners/
http://net.tutsplus.com/tutorials/php/why-youre-a-bad-php-programmer/
http://net.tutsplus.com/tutorials/php/add-power-to-your-php-with-multi-tiered-applications/
http://net.tutsplus.com/tutorials/php/10-principles-of-the-php-masters/
http://net.tutsplus.com/tutorials/tools-and-tips/markdown-the-ins-and-outs/
http://phpmaster.com/adding-text-watermarks-with-imagick/
http://phpmaster.com/implementing-psr-3-with-log4php
http://net.tutsplus.com/tutorials/php/elevate-your-php-to-the-cloud/
http://net.tutsplus.com/tutorials/php/how-to-paginate-data-with-php/
http://net.tutsplus.com/tutorials/php/real-world-oop-with-php-and-mysql/
http://net.tutsplus.com/tutorials/php/the-ins-and-outs-of-php-exceptions/
http://net.tutsplus.com/tutorials/php/php-5-4-is-here-what-you-must-know/
http://net.tutsplus.com/tutorials/php/sanitize-and-validate-data-with-php-filters/
http://net.tutsplus.com/articles/web-roundups/develop-a-social-media-website-with-these-10-code-techniques/
http://net.tutsplus.com/tutorials/php/quick-tip-loop-through-folders-with-phps-glob/
http://net.tutsplus.com/tutorials/php/what-to-expect-from-php-5-5/
http://net.tutsplus.com/tutorials/php/build-your-own-captcha-and-contact-form/
http://net.tutsplus.com/tutorials/php/dependency-injection-in-php/
http://net.tutsplus.com/tutorials/php/hvmc-an-introduction-and-application/
http://net.tutsplus.com/tutorials/php/deciphering-magic-methods-in-php/
http://net.tutsplus.com/articles/general/a-beginners-guide-to-design-patterns/
http://net.tutsplus.com/tutorials/php/oo-php5-adding-caching-to-data-access-layer/
http://net.tutsplus.com/tutorials/php/mockery-a-better-way/
http://net.tutsplus.com/tutorials/php/the-whens-and-whys-for-php-design-patterns/
http://net.tutsplus.com/tutorials/php/php-database-access-are-you-doing-it-correctly/
http://net.tutsplus.com/tutorials/php/aspect-oriented-programming-in-php/
http://net.tutsplus.com/tutorials/php/pdo-vs-mysqli-which-should-you-use/
http://net.tutsplus.com/tutorials/php/secure-your-forms-with-form-keys/
http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/
http://net.tutsplus.com/tutorials/html-css-techniques/how-to-add-variables-to-your-css-files/
http://net.tutsplus.com/tutorials/other/how-to-create-a-web-service-in-a-matter-of-minutes/
http://net.tutsplus.com/tutorials/other/authenticating-users-with-facebook-connect-and-google-friend-connect/
http://net.tutsplus.com/tutorials/php/3-ways-to-speed-up-your-site-with-php/
http://net.tutsplus.com/tutorials/php/object-oriented-php-for-beginners/
http://net.tutsplus.com/tutorials/tools-and-tips/can-you-hack-your-own-site-a-look-at-some-essential-security-considerations/
http://net.tutsplus.com/tutorials/php/9-useful-php-functions-and-features-you-need-to-know/
http://net.tutsplus.com/tutorials/php/advanced-regular-expression-tips-and-techniques/
http://net.tutsplus.com/tutorials/php/how-to-send-text-messages-with-php/
http://net.tutsplus.com/tutorials/php/understanding-and-applying-polymorphism-in-php/
http://net.tutsplus.com/tutorials/php/creating-a-crypter-class/
http://net.tutsplus.com/tutorials/php/getting-clean-with-php/
http://net.tutsplus.com/tutorials/php/kohana-the-swift-php-framework/
Validation:
http://www.benjaminkeen.com/open-source-projects/smaller-projects/php-validation/
http://www.phpjabbers.com/php-validation-and-verification-php27.html
http://www.html-form-guide.com/php-form/php-form-validation.html
http://phpmaster.com/form-validation-with-php/
http://buildinternet.com/2008/12/how-to-validate-a-form-complete-with-error-messages-using-php-part-1/
http://net.tutsplus.com/tutorials/php/create-instagram-filters-with-php/
http://phpmaster.com/keeping-secrets-safe-with-gnupg/
http://phpmaster.com/why-suppressing-notices-is-wrong
http://net.tutsplus.com/tutorials/php/namespacing-in-php-2/
http://blog.phpdeveloper.org/?p=549
http://phpmaster.com/migrate-from-the-mysql-extension-to-pdo
http://phpmaster.com/the-open-closed-principle/
http://phpmaster.com/3-strange-php-facts-you-may-not-know/
http://phpmaster.com/exceptional-exceptions/
http://phpmaster.com/php-dependency-management-with-composer/
http://phpmaster.com/the-single-responsibility-principle/
http://phpmaster.com/living-apart-together-decoupling-code-and-framework
http://phpmaster.com/debugging-and-profiling-php-with-xdebug
http://blog.phpdeveloper.org/?p=504
http://us2.php.net/autoload
http://shiflett.org/articles/how-to-avoid-page-has-expired-warnings
http://speckyboy.com/2012/07/30/unraveling-the-secrets-of-the-comments-php-file/
http://net.tutsplus.com/articles/news/getting-good-with-php-new-rockable-ebook/
http://net.tutsplus.com/tutorials/php/easy-package-management-with-composer/
http://cloudspring.com/a-cloud-dedicated-to-php-apps-say-hello-to-phpfog
http://net.tutsplus.com/tutorials/php/creating-a-flat-file-blog-engine-using-slim/
http://phpmaster.com/using-spl-iterators-1/
http://phpmaster.com/server-side-html-handling-using-phpquery/
http://phpmaster.com/rapid-application-development-with-cakephp/
http://phpmaster.com/dip-intro
http://net.tutsplus.com/tutorials/php/quick-tip-7-super-handy-php-functions-for-beginners
http://phpmaster.com/watermarking-images/
http://newrelic.com/
http://phpmaster.com/handling-collections-of-aggregate-roots/
http://coding.smashingmagazine.com/2012/05/20/replicating-mysql-aes-encryption-methods-with-php/
http://phpmaster.com/working-with-files-in-php/
http://phpmaster.com/using-an-access-database-with-php/
http://phpmaster.com/rest-can-you-do-more-than-spell-it-1
http://phpmaster.com/rest-can-you-do-more-than-spell-it-2/
http://phpmaster.com/rest-can-you-do-more-than-spell-it-3/
http://phpmaster.com/rest-can-you-do-more-than-spell-it-4/
http://phpmaster.com/an-introduction-to-redis-in-php-using-predis/
http://phpmaster.com/introspection-and-reflection-in-php/
http://phpmaster.com/input-validation-using-filter-functions/
http://phpmaster.com/an-introduction-to-services/
http://phpmaster.com/intro-to-virtual-proxies-1/
http://phpmaster.com/intro-to-virtual-proxies-2/
http://phpmaster.com/error-logging-with-mongodb-and-analog/
http://phpmaster.com/integrating-the-data-mappers/
http://phpmaster.com/pchart-revisited-with-google-analytics/
http://phpmaster.com/role-based-access-control-in-php/
http://phpmaster.com/building-a-domain-model/
http://phpmaster.com/understanding-the-observer-pattern/
http://phpmaster.com/web-services-with-php-and-soap-1/
http://phpmaster.com/web-services-with-php-and-soap-2/
http://phpmaster.com/packaging-your-apps-with-phar/
http://phpmaster.com/maintaining-your-server-with-command-line-php
http://kevin.vanzonneveld.net/techblog/article/create_daemons_in_php/
Phing:
http://phpmaster.com/using-phing/
http://net.tutsplus.com/tutorials/tools-and-tips/how-to-use-the-nettuts-phing-build-script/
http://net.tutsplus.com/tutorials/other/how-to-query-web-services-with-a-build-script/
http://phpmaster.com/deploy-and-release-your-applications-with-phing/
Slim:
http://net.tutsplus.com/tutorials/php/creating-a-flat-file-blog-engine-using-slim/
Laravel:
http://net.tutsplus.com/tutorials/php/how-to-setup-laravel-4/
http://laravel.com/
http://net.tutsplus.com/tutorials/php/build-web-apps-from-scratch-with-laravel-filters-validations-and-files
http://net.tutsplus.com/tutorials/php/build-web-apps-from-scratch-with-laravel-the-eloquent-orm/
http://net.tutsplus.com/tutorials/php/the-essentials-of-creating-laravel-bundles/
http://net.tutsplus.com/tutorials/php/building-web-applications-from-scratch-with-laravel/
http://phpmaster.com/whats-new-in-laravel-4/
Fuel:
http://net.tutsplus.com/tutorials/php/build-an-admin-panel-with-the-fuel-php-framework/
http://net.tutsplus.com/tutorials/php/getting-started-with-the-fuel-php-framework/
http://net.tutsplus.com/tutorials/php/easy-form-generation-using-fuelphp/
CSS Preprocessor:
http://the-echoplex.net/csscrush/
http://turbine.peterkroener.de/index.php
http://retired.haveamint.com/archive/2008/05/30/check_out_css_cacheer
http://pornel.net/css
http://code.google.com/p/dtcss/
http://csspp.org/
http://www.webresourcesdepot.com/php-driven-css-preprocessor-pcss/
http://pcss.wiq.com.br/
- Don't Put phpinfo() in your Webroot
- Keep function outside of loops
- Use a configuration file for storing application configurations. This configuration file is different across different environments (development, testing, production), therefore should not be in the same repository with the code. The operation team, or the release team, may wish to keep configuration file for production environment in a separate repository for history / rolling back the code.
- Information for connecting to databases (IP address, username, and password) are configuration settings
- Turn off error reporting with error_reporting(0), and then turn it on if the configuration indicate that this is a development environment
- Disable register_globals in .htaccess: php_flag register_globals 0
- Disable magic quotes in .htaccess: php_flag magic_quotes_gpc 0 php_flag magic_quotes_runtime 0
- Validate input (PEAR Validate)
- Prevent "SQL injection" attacks, by using mysql_real_escape_string or prepared statements.
- Prevent Cross Site Scripting (XSS) attacks (see below)
Preventing Cross Site Scripting (XSS) Attacks:
If our site has a web-based HTML editor (TinyMCE, FCKeditor, etc), then we are definitely accepting HTML from our users, and user can format the text however they please. These editors may or may not have ability to prevent XSS, however we should not rely on it. Think what happen if user turn off javascript. They get a standard textarea, and they can put in whatever HTML code they want. One way to prevent XSS attacks is to disallow HTML altogether. However, if we do this, then formating is also disabled, which is not always an option for forum and blog software (and the use of rich text / web-based HTML editor).
If we want HTML mostly disabled, but still want to allow simple formatting, we can allow just a few selected HTML tags (without attributes) such as strong or em. Alternatively, we can allow a popular set of tags called "BBCode" or "BB Tags". This can be a perfect way to allow some formatting customization while disallowing anything dangerous. We can implement BBCode using pre-existing packages such as HTML_BBCode or write our own.
5 Helpful tips for creating secure php applications
http://www.sitepoint.com/phpmaster-role-based-access-control-pchart-ci-with-jenkins-and-more/
Understanding the Factory Method Design Pattern
My FAQs
Gotchas
How To Synchronize Your PHP and MySQL Timezones
Design Patterns
OOP
phpunit
try-catch
Socket Programming
Debuggers
phpdoc
Install or Uninstall PECL extensions
Compile PayflowPro
old
Testing:
http://phpmaster.com/thoughts-of-a-pragmatic-tester/
http://net.tutsplus.com/tutorials/php/automatic-testing-for-tdd-with-php/
http://net.tutsplus.com/sessions/test-driven-php/
http://net.tutsplus.com/tutorials/php/deciphering-testing-jargon/
phpunit
SimpleTest
http://net.tutsplus.com/articles/interviews/chatting-with-the-grumpy-php-programmer/
http://net.tutsplus.com/tutorials/php/all-about-mocking-with-phpunit/
http://net.tutsplus.com/tutorials/php/hands-on-unit-testing-with-phpunit/
http://net.tutsplus.com/tutorials/php/automatic-testing-for-tdd-with-php/
http://net.tutsplus.com/tutorials/php/lets-tdd-a-simple-app-in-php/
http://net.tutsplus.com/tutorials/php/test-driven-development-in-php-first-steps/
http://net.tutsplus.com/tutorials/php/testing-your-php-codebase-with-enhancephp/
http://www.ebrueggeman.com/blog/register_shutdown_function-a-very-useful-php-function/
http://eirikhoem.wordpress.com/2008/03/15/dying-with-grace-phps-register_shutdown_function/
http://php.net/manual/en/function.register-shutdown-function.php
Using PHP from the command line
http://palisade.plynt.com/issues/2009Dec/secure-coding-php/
http://net.tutsplus.com/tutorials/php/5-helpful-tips-for-creating-secure-php-applications/
debug_backtrace
debug_print_backtrace
error_get_last
error_log
error_reporting
restore_error_handler
restore_exception_handler
trigger_error
user_error
error_log(print_r($arr, true), 3, 'debug log');
print_r(), var_dump(), and var_export() will show protected and private properties of objects with PHP5. Static class member will not be shown.
print_r() will move the array pointer to the end. Use reset() to bring it back to the beginning.
print_r($expression, [bool $as_string = false]);
Frameworks:
- CakePHP
- phpmvc.net
- phpwact.org
- CodeIgniter
- Symfony (symfony-project.org)
- phpfuse.net
- doophp.com
- StudsMVC
- PHPulse
- Prado
- Mojavi
PHP Tutorials: Learn to code like a guru
Understanding and Applying Polymorphism in PHP
Ruby for PHP Developers
Using the Dribbble API with PHP
http://www.addedbytes.com/php/writing-secure-php/
Getting Clean with PHP
10 Principles of PHP Masters
http://unitstep.net/blog/2009/01/26/getting-xdebug-to-work-with-apachexampp-to-debug-php/
MySQLi
http://www.phpbuilder.com/board/showthread.php?t=10364768
Sanitize and Validate Data with PHP Filters
Getting Xdebug to work with Apache/XAMPP to debug PHP
Introducing xdebug
Tracing PHP Applications with xdebug
Profiling PHP Applications With xdebug
Debugging PHP applications with xdebug
Creating Code Coverage Statistics with xdebug
If you are on Windows, Google for XDebug and XAMPP
7 Areas Of PHP You Might Want To Optimize
http://net.tutsplus.com/tutorials/php/30-php-best-practices-for-beginners/
http://net.tutsplus.com/tutorials/php/add-power-to-your-php-with-multi-tiered-applications/
PHP 5 Power Programming
WHY LEARN OBJECT ORIENTED PHP? (Screencast)
phpunit
30+ PHP Best Practices for Beginners
http://code.google.com/p/minify/
PHP Patterns site
Practical PHP site
http://net.tutsplus.com/tutorials/php/advanced-codeigniter-profiling-with-xhprof/
ActiveRecord / ORM for PHP:
http://phplens.com/lens/adodb/docs-active-record.htm





