If you are looking for an alternative PHP framework to ZEND or Symfony, then Codeigniter should peak your interest. Much like the other frameworks, Codeigniter utilizes MVC and actually includes a Model paradigm unlike ZEND. Be sure to check out the beginner’s tutorial listed below if you want to take the next step in exploring what Codeigniter has to offer. Enjoy!
I have seen in some forums and different websites, some doubts about how codeigniter is organized and how can it help you as a coder be more efficient. The first thing people should know is, codeigniter is a PHP framework, made with the software architecture known as MVC which stands for Model-View-Controller. This architecture seperates the logic from user interface allowing independant development, testing and better maintenance. Codeigniter allows you to have your code much organized, making you look better at what you already do. This framework is made to facilitate the way you do certain things in PHP, and allow you to reuse your code, using PHP Object Oriented programming paradigm. Codeigniter, on my opinion, seems to be very user friendly, so it’s to which I would recommend the use of it, for any upcoming web developer.
If you write web applications in PHP for a living or or you have tackled a big project then you most likely would be interested PHP namespaces in version 5.3. This article does a great job at explaining what a namespace is and how to utilize them in PHP.
PHP’s historical lack of namespace support has long been a sore spot for developers residing both within and without the PHP community. Lacking the ability to efficiently organize project libraries, PHP developers have long made do with various contrived hacks, including notably using an autoloader in conjunction with code organized within a nested folder structure. Such an approach is used by the PHP Extension and Application Repository (PEAR), as well as by popular frameworks such as the Zend Framework.
There are many one-stop shops for services that find their way into web sites all over the net. People use Flickr to organize photos, Youtube for videos, and the list goes on. Being able to pull all of this into a single website would simplify life for web developers across the internet. Vikram Vaswani, Founder of Melonfire has written an in-depth article explaining how to use oEmbed to aggregate this information for you.
The oEmbed specification offers a way to display embedded representations of content from third-party content sharing sites in a web page. This article introduces the oEmbed API and demonstrates it in the context of a PHP application, explaining how you can use it to embed content from popular sites like Flickr, YouTube, Slideshare, Wikipedia, and others.
This article was posted a couple of weeks ago, but just found it today and enjoyed reading it and felt like I should share it with all of you. It breaks down and goes into detail about 10 misconceptions or wrong ideas that PHP is labeled with. If you have only just dabbled with PHP on a casual basis, this article will be sure to clear up any questions you have had about what is possible or not possible with PHP.
PHP is often a misunderstood language by people that either love or hate it. On one side there are developers that hate PHP apparently because they do not quite understand how it works. They do not respect PHP and prefer other languages. So they lose many opportunities to make good money from the PHP market, which has so many high paying jobs for qualified developers.
Until recently, I had not explored the use of .phar files. If you do not know what .phar files are, they are similar to Java’s .jar files and is essentially a “zipped” up archive of your php application files needed to run your website / application. If you have been looking into .phar files or have interest of exploring this feature now included in PHP 5.3+ by default, check out the article below that weighs in on the pros / cons of using them and more…
It is possible to pack an entire PHP web application up in one single file and run it without unpacking it. This files usually have a .phar extension, which is an acronym for PHp ARchive, loosely based on jar (Java ARchive).
The PHP development team would like to announce the immediate availability of PHP 5.3.8. This release fixes two issues introduced in the PHP 5.3.7 release (If you installed 5.3.7 on your production website, it is imperative you upgrade ASAP):
- Fixed bug #55439 (crypt() returns only the salt for MD5)
- Reverted a change in timeout handling restoring PHP 5.3.6 behavior, which caused mysqlnd SSL connections to hang (Bug #55283).
All PHP users should note that the PHP 5.2 series is NOT supported anymore. All users are strongly encouraged to upgrade to PHP 5.3.8.
This in-depth tutorial will take you through the steps needed to utilize PHP, MySQL and jQuery Mobile framework to build a website viewable on multiple devices and screen sizes. Using the MVC (Model-View-Controller), you will be essentially creating your own framework that you can re-use for any future sites you may build as well. While jQuery mobile framework is still in beta, it will soon release officially and will be easy to just update the CDN url. This is a great read and will definitely be re-visiting whenever I consider moving the site over to a mobile format in the future.
The PHP.net website has posted an urgent notice for those who have opted to install PHP 5.3.7. Please read the below, and visit the bug tracker for more details on the issue that prompted this.
Due to unfortunate issues with 5.3.7 (see bug#55439) users should wait with upgrading until 5.3.8 will be released (expected in few days).
The Zend Certified Engineer certification program helps you validate the skills you use every day and take your career to the next level by showcasing your expertise.
Join this webinar to learn the topics covered on the exams, the options available for preparing and see some sample questions! We will cover both the newest addition to the Zend Certified Engineer certification program, the Zend PHP 5.3 Certification Exam, and the Zend Framework Certification Exam!
The PHP development team would like to announce the immediate availability of PHP 5.3.7. This release focuses on improving the stability of the PHP 5.3.x branch with over 90 bug fixes, some of which are security related.
Security Enhancements and Fixes in PHP 5.3.7
- Updated crypt_blowfish to 1.2. (CVE-2011-2483)
- Fixed crash in error_log(). Reported by Mateusz Kocielski
- Fixed buffer overflow on overlog salt in crypt().
- Fixed bug #54939 (File path injection vulnerability in RFC1867 File upload filename). Reported by Krzysztof Kotowicz. (CVE-2011-2202)
- Fixed stack buffer overflow in socket_connect(). (CVE-2011-1938)
- Fixed bug #54238 (use-after-free in substr_replace()). (CVE-2011-1148)
Key enhancements in PHP 5.3.7 include
- Upgraded bundled Sqlite3 to version 184.108.40.206
- Upgraded bundled PCRE to version 8.12
- Fixed bug #54910 (Crash when calling call_user_func with unknown function name)
- Fixed bug #54585 (track_errors causes segfault)
- Fixed bug #54262 (Crash when assigning value to a dimension in a non-array)
- Fixed a crash inside dtor for error handling
- Fixed bug #55339 (Segfault with allow_call_time_pass_reference = Off)
- Fixed bug #54935 php_win_err can lead to crash
- Fixed bug #54332 (Crash in zend_mm_check_ptr // Heap corruption)
- Fixed bug #54305 (Crash in gc_remove_zval_from_buffer)
- Fixed bug #54580 (get_browser() segmentation fault when browscap ini directive is set through php_admin_value)
- Fixed bug #54529 (SAPI crashes on apache_config.c:197)
- Fixed bug #54283 (new DatePeriod(NULL) causes crash).
- Fixed bug #54269 (Short exception message buffer causes crash)
- Fixed Bug #54221 (mysqli::get_warnings segfault when used in multi queries)
- Fixed bug #54395 (Phar::mount() crashes when calling with wrong parameters)
- Fixed bug #54384 (Dual iterators, GlobIterator, SplFileObject and SplTempFileObject crash when user-space classes don’t call the parent constructor)
- Fixed bug #54292 (Wrong parameter causes crash in SplFileObject::__construct())
- Fixed bug #54291 (Crash iterating DirectoryIterator for dir name starting with \0)
- Fixed bug #54281 (Crash in non-initialized RecursiveIteratorIterator)
- Fixed bug #54623 (Segfault when writing to a persistent socket after closing a copy of the socket)
- Fixed bug #54681 (addGlob() crashes on invalid flags)
- Over 80 other bug fixes.