-
Posted: March 11th, 2010, 7:00am MST
In this first part of a short series, I'm going to introduce you to using the Iterator, Countable and ArrayAccess interfaces that come with the Standard PHP Library. You'll see how to implement some of the methods declared by the Iterator interface within a class that manipulates MySQL result sets via an intuitive API.
- For many PHP developers eager to apply the object-oriented paradigm in a more thorough and consistent manner, the release of PHP 5 brought a number of handy features that allowed them to achieve this goal in a truly painless fashion. This isnt breaking news, of course, but the inclusion of member ...
-
Posted: March 10th, 2010, 7:00am MST
In this first part of a five-part series, I introduce you to implementing the Data Mapper design pattern in PHP 5. This pattern attempts to solve the issue of the strong coupling that often exists between the domain objects present in an application and the underlying persistence mechanism. This benefit comes at a cost, since data mappers add a new layer of complexity. Living with this minor trade-off is quite worthwhile, though, as you'll see.
- Since the web is in constant evolution and merges a variety of technologies and languages, developing web applications (specially mid-sized and large-scale ones) has become a challenging process. Indeed, applications require extensive planning, modeling and testing, before reaching a stable depl...
-
Posted: March 9th, 2010, 7:00am MST
In this second part of a four-part series, I rebuild the example application developed in the previous tutorial. As you'll recall, it used a protected constructor to prevent the instantiation of the base array iterator class. In this case, a better result will be achieved by declaring the iterator abstract; still, the example demonstrates a simple utilization of a restrictive constructor in a concrete situation.
- Unquestionably, the introduction of a more robust object model in PHP 5 has provided developers with additional features that allow them to build efficient and thorough object-oriented applications without the need to appeal to the ugly programming hacks used frequently in the bad old days of PHP ...
-
Posted: March 8th, 2010, 7:00am MST
This third part of a seven-part series explores the methods of the PHP Reflection API. You will learn how to take advantage of their functionality to retrieve useful information about the methods defined by a reflected class.
- One of today's most powerful approaches for retrieving information about the internal structure of classes and interfaces in PHP 5 is via the language's native reflection API. What's more, not only does this API comes packaged with a huge variety of methods that let developers perform all sorts of ...
-
Posted: March 4th, 2010, 7:00am MST
What exactly is a restrictive constructor, and why would you want to use one? If you're a PHP programmer who uses such design patterns as Singleton and Factory, this series of articles on restrictive constructors will give you another tool to use in your applications.
- As you'll probably know, with the release of PHP 5 quite some time ago, the language was provided with the ability to specify the visibility of properties and methods in classes, something that had already been implemented in more mature programming languages such as Java and C++.
In a pretty str...
-
Posted: March 3rd, 2010, 7:00am MST
In this second part of a series, I explore some handy methods of the PHP Reflection API. They allow you to retrieve miscellaneous information about a class, including its name and containing file, as well as its starting and ending lines.
- Overlooked by many developers, the Reflection API that comes with PHP 5 is a powerful reverse-engineering extension of the language that permits developers to analyze, inspect and retrieve valuable information about selected classes and interfaces by means of a set of convenient methods.
So, if y...
-
Posted: March 2nd, 2010, 7:00am MST
In this first part of a series, we'll begin exploring some of the methods included with the Reflection API bundled with PHP 5. The interface allows developers to collect relevant information about a reflected class, including its name, its declared constants and properties, in a extremely straightforward way.
- Even though PHP is intrinsically a weakly-typed language, as it doesnt internally impose any constraints on the types of values that can be held by a given variable (with the exception of type hinting and type casting), its introspective capabilities are quite impressive indeed. Native old functio...
-
Posted: March 1st, 2010, 7:00am MST
Welcome to the final part of a ten-part series that shows you how to use the Swift Mailer library to build email applications. This final part of the series will explain how to use the batchsend() method, and how to specify the Return-path MIME header within emails.
- Frankly speaking, building a full-featured email application with PHP has always been a challenging task, even for seasoned developers. The process often demands that developers deal directly with the internals of both the SMTP and POP3 protocols, and it's worse if the application must provide su...
-
Posted: February 25th, 2010, 7:00am MST
In this ninth part of a ten-part series, you'll learn how to use a couple of methods provided by Swift Mailer to directly embed attachments into email messages. These can be very helpful when sending newsletters that contain numerous images, which you dont want to be filtered and discarded by popular web-based email systems such as Hotmail and Yahoo.
- Among the huge variety of email libraries written in PHP 5, there's one that stands out from the rest due to its well-structured programming interface, strict use of the object-oriented paradigm, and (if all of these features aren't good enough for you), its incredibly flat learning curve.
Of cours...
-
Posted: February 24th, 2010, 7:00am MST
In this eighth part of a ten-part series on the Swift Mailer email library, you'll learn how to attach files that have been dynamically generated to an email message. In addition, you'll see how to use Swift Mailer's setFileName() method to modify the name of an attachment before it's sent, which speaks for itself about this library's flexibility.
- In case you havent heard about it yet, Swift Mailer is a comprehensive library written in PHP 5 and freely available at
[swiftmailer.org.] It allows you to develop email applications very quickly and with minor effort, through a cohesive and highly intuitive programming interface.
So, if your...
-
Posted: February 23rd, 2010, 7:00am MST
Welcome to the seventh tutorial of a series on Swift Mailer. Comprised of ten parts, this series introduces you gently to using this thorough PHP5-based email package. It complements the corresponding theory with numerous code samples that you can incorporate into your own PHP applications.
- If youre a PHP developer whos looking for an approachable guide that teaches you how to take advantage of the most relevant features provided by the powerful Swift Mailer email library (available at
[swiftmailer.org),] then this group of tutorials might be the material that you really need. ...
-
Posted: February 22nd, 2010, 7:00am MST
In this sixth article of a series I discuss how to handle file attachments and sending HTML email messages with the Swift Mailer library. As you'll soon see, performing these tasks is a very straightforward process.
- If you're an experienced PHP developer, then you know that coding functions or classes that send MIME email is one of those things that you want to do only once in your lifetime. This process often requires dealing indirectly (or directly, when programming TCP sockets) with the complexities of the...
-
Posted: February 18th, 2010, 7:00am MST
This fifth part of the series expands your background in the Swift Mailer library. You will learn how to use it for sending blind carbon copies of a basic email message to a predefined recipient. The process is as simple as using its setBcc() method.
- Undoubtedly, PHP programmers often need to add some kind of email-sending capability to the programs they create, either by using a proprietary library or by way of a third-party package.
While using a custom library (or even a custom framework) may work well when the whole development process of...
-
Posted: February 17th, 2010, 7:00am MST
In this fourth part of a series, you will learn how easy it is to send carbon copies of an email message with the Swift Mailer library. The secret is the use of its setCc() method.
- If youre a PHP developer whos searching for a comprehensive guide that teaches you how to take advantage of the most important features provided by the popular Swift Mailer library, then youve come to the right place.
Welcome to the fourth part of a series that introduces you to Swift Mailer. Ma...
-
Posted: February 16th, 2010, 7:00am MST
In this third part of the series, I explain how to configure Swift Mailer to work seamlessly with the sendmail Unix program and the mail() PHP function. This process is extremely straightforward, so you shouldnt have any trouble understanding how it functions.
- Among the great variety of PHP-based email libraries available nowadays, there's one that might be particularly attractive to you. It offers a flat learning curve and impressive features, which have been implemented by using a strict object-oriented approach.
In this specific case, of course, I'm...
-
Posted: February 11th, 2010, 7:00am MST
In this second part of the series, I develop a couple of examples that demonstrate how easy it is to send email messages by using different SMTP servers, thanks to the versatility provided by the Swift Mailer PHP library.
- In case you still haven't heard about it, Swift Mailer is a powerful object-oriented PHP library written by Chris Corbin and available at
[swiftmailer.org.] It allows you to develop email applications in a truly effortless fashion by means of a set of comprehensive and well-structured classes...
-
Posted: February 10th, 2010, 7:00am MST
Do you want to build a complex email program in PHP that offers more control than the language's native mail() function? You may want to consider using the Swift Mailer email library. This multi-part series will walk you through some of its most useful features.
- If youve been developing web applications with PHP for a while, then youll surely know that the language offers a couple of options that allow you to send email messages in a pretty straightforward way. Undoubtedly, the easiest thing to do is to create email scripts by means of the mail() native ...
-
Posted: February 9th, 2010, 7:00am MST
In this conclusion to a five-part series on building a LInux wireless access point, you'll learn how to manage the details, such as DNS caches. This article is excerpted from chapter four of the Linux Networking Cookbook, written by Carla Schroder (O'Reilly; ISBN: 0596102488). Copyright © 2008 O'Reilly Media, Inc. All rights reserved. Used with permission from the publisher. Available from booksellers or direct from O'Reilly Media
- 4.15 Turning Off Antenna Diversity
Problem
Your wireless interface supports using two antennas, but youre using just one. You know that this means half of your broadcast and unicast packets are hitting a dead end, which can hurt performance. How do you send power only to one antenna?
Solution...
-
Posted: February 8th, 2010, 7:00am MST
In this fourth part of a five-part series on building a Linux wireless access point, you'll learn about firewalling, routing, and more. This article is excerpted from chapter four of the Linux Networking Cookbook, written by Carla Schroder (O'Reilly; ISBN: 0596102488). Copyright © 2008 O'Reilly Media, Inc. All rights reserved. Used with permission from the publisher. Available from booksellers or direct from O'Reilly Media.
- 4.11 Connecting to the Internet and Firewalling
Problem
Its high time to finish up with these LAN chores and bring the Internet to your LAN. Your wireless is encrypted, your LAN services are working, and your users want Internet. So youre ready to configure your WAN interface and build a nice s...
-
Posted: February 4th, 2010, 7:00am MST
In this third part of a five-part series on building a Linux wireless access point, you'll learn several different ways to secure your servers, so you can choose the level of security that best suits your needs. This article is excerpted from chapter four of the Linux Networking Cookbook, written by Carla Schroder (O'Reilly; ISBN: 0596102488). Copyright © 2008 O'Reilly Media, Inc. All rights reserved. Used with permission from the publisher. Available from booksellers or direct from O'Reilly Media.
- 4.7 Making WPA2-Personal Almost As Good As WPA-Enterprise
Problem
Youre nervous about sitting there with an unsecured wireless access point, and you really want to lock it up before you do anything else. Youve made sure that all of your wireless network interfaces support WPA2, so youre ready to...
-
Posted: February 3rd, 2010, 7:00am MST
In this second part of a five-part series on building a Linux wireless access point, you'll learn how to set up name services, set static IP addresses, and more. This article is excerpted from chapter four of the Linux Networking Cookbook, written by Carla Schroder (O'Reilly; ISBN: 0596102488). Copyright © 2008 O'Reilly Media, Inc. All rights reserved. Used with permission from the publisher. Available from booksellers or direct from O'Reilly Media.
- 4.3 Setting Up Name Services
Problem
Your LAN is going to have a combination of hosts with static IP addresses and DHCP clients that come and go, especially wireless clients. And, you want DHCP clients to automatically be entered into DNS so they can be accessed by hostname just like the hosts w...
-
Posted: February 2nd, 2010, 7:00am MST
Over the past few years, wireless networking has made everyone's lives easier, thanks to being able to connect to the Internet just about anywhere. If you run a Linux shop and want to go wireless, this five-part series will show you how to set up a wireless access point. It is excerpted from chapter four of the Linux Networking Cookbook, written by Carla Schroder (O'Reilly; ISBN: 0596102488. Copyright © 2008 O'Reilly Media, Inc. All rights reserved. Used with permission from the publisher. Available from booksellers or direct from O'Reilly Media.
- 4.0 Introduction
Wireless networking is everywhere. Someday, well have built-in wireless receivers in our heads. Meanwhile, times are improving for Linux wireless administrators, if you shop carefully and buy wireless interface cards with good Linux support and WPA2 support. Using well-supported w...
-
Posted: February 1st, 2010, 7:00am MST
The easiest way to improve your website's conversions may have less to do with SEO and your content and more to do with how fast your pages load. Internet users have a short attention span, and won't wait for your pages to load when the next site is just a click away. Fortunately, you can fix your web page loading times with the help of Google Page Speed.
- Website loading time is one of the most important performance elements of a website. It has been said, according to a study at Peer1, that there is a loss of one third of the visitors who abandon the site after four seconds of website loading time.
Graph: % of visitors retained vs. Website lo...
-
Posted: January 28th, 2010, 7:00am MST
With bots getting intelligent enough to read easy versions of captcha, it's time to make your site a little trickier if you want to avoid spam. This article will show you how to set up a PHP web form with AJAX that uses Recaptcha, a more difficult protocol for bots to decipher.
- After a previous tutorial on PHP Ajax web forms, there were a lot of good points raised by the readers which could dramatically improve the usability and performance of any PHP AJAX web form validation.
Any good PHP web form should be able to accomplish the following important objectives:
1. ...
-
Posted: January 27th, 2010, 7:00am MST
One of the most important features in a website is the ability to show videos to your visitors. There are a lot of video hosting solutions nowadays, with YouTube as the most popular. However, due to its popularity, there are lots of services -- even free services -- that let viewers download your video files after you've uploaded them to YouTube. If you need to restrict downloading of your files, keep reading.
- If your videos are for viewing purposes only and you need to strictly restrict downloading, then this tutorial can help you. Unlike YouTube, where all your uploaded videos are viewable in a single channel (thus any infringer can easily locate and download all of them), if you use the technique discu...
-
Posted: January 26th, 2010, 7:00am MST
Welcome to the conclusion of a three-part series that shows you how to count the back links to your web site from unique domains using the Yahoo Inbound Links API. In the second part you learned how to pass the form variables to PHP using AJAX, process the web form input using PHP, and finally validate the root domain name URL using PHP. In this part, we discuss the details of the Yahoo API PHP script process.
- Formulate a Request to Yahoo Inlinks API
It is a wise programming strategy to report all errors, so the first line before communicating to the API is this one:
error_reporting(E_ALL);
To formulate the request, we need values for the following API variables, which we can obtain from us...
-
Posted: January 25th, 2010, 7:00am MST
In the first part of this three-part series, you learned the guiding concepts and design for building a PHP web application to count back links from unique domains using the Yahoo Site Explorer API. In this part, we will illustrate, in detail, how to do the programming for the PHP Ajax web form and the validation script.
- At the end of the third part, I'll give you a link which you can use to download all the files associated with this web application project.
Passing form variables to PHP via AJAX
The script uses captcha code that will pass the answer for the challenge using a PHP session, so at the top of the we...
-
Posted: January 21st, 2010, 7:00am MST
If you've just started using the Yahoo Site Explorer Inbound Links API and want to know how far you can take it, keep reading. This three-part series will show you how to build an application that can help you track your links.
- In two introductory article series on the Yahoo Site Explorer Inbound Links API, you learned the very basic steps involved in connecting to the Yahoo Inbound Links API using the PHP server side scripting language to get important link- related data.
Those were very basic concepts which you need t...
-
Posted: January 20th, 2010, 8:30am MST
Welcome to the final part of a seven part series on building polymorphs in PHP. In a friendly fashion, this series gets you started constructing polymorph classes specifically in PHP 5. It shows you how to accomplish this by using first interfaces, then parent classes, and finally a proper combination of both.
- And now that you've been introduced to the main goal of this group of tutorials, its time to review the topics discussed in the last one. In that article I explained how to build a couple of polymorph classes; both of them inherited structure from a simple interface and functionality from an abstr...
-
Posted: January 19th, 2010, 7:00am MST
In this penultimate part of a seven-part series on building polymorphs in PHP 5, I demonstrate how easy it is to build polymorph objects that merge the functionality of abstract classes and the structure of interfaces. The entire creation process is simple enough that you shouldnt have major problems grasping its underlying logic.
- As you may know, most of the mature programming languages that are used nowadays permit developers to implement Polymorphism in one form or another. Undoubtedly C, C++ and Java, for example, are languages that allow you to build polymorph structures, either at function-level or class-level. This ...
-
Posted: January 14th, 2010, 7:00am MST
In this fifth part of a seven-part series on building polymorphs in PHP 5, you will learn how to build a polymorph object by combining an abstract class and a simple interface. As you'll see, this object will be used for constructing basic HTML divs.
- Without a doubt, understanding how to build polymorph objects in PHP 5 can be of great help when developing object-oriented web applications. this is especially true if you want to make use of the big pillars of software engineering in a truly efficient way.
In addition, its quite possible that y...
-
Posted: January 13th, 2010, 7:00am MST
Welcome to the fourth installment of an article series on building polymorphs in PHP. Made up of seven tutorials, this series attempts to teach you through numerous, comprehensive code samples how to create polymorph objects. You'll see how to do it using interfaces, then abstract classes, and finally a combination of both.
- Now that you know what to expect from this set of articles, its time to summarize the topics covered in the last one. In that part of the series I started developing a basic example to demonstrate how to build a couple of polymorph classes that inherited most of their functionality from a base ...
-
Posted: January 12th, 2010, 7:00am MST
In this third part of a seven-part series, I demonstrate how to build polymorph objects using abstract classes in PHP 5. As you'll see, it's a pretty straightforward process that can be tackled with relative ease.
- Learning how to build polymorph objects in PHP 5 is one of those topics that must be tackled sooner or later by those developers who want to expand their skills in using the object-oriented paradigm for creating web applications.
So, if youre a PHP programmer looking for a friendly guide that shows...
-
Posted: January 11th, 2010, 7:00am MST
In this second article in a seven-part series on building polymorphs in PHP 5, I provide you with another example of how to do this by way of a simple interface. For this tutorial, I decided to work with objects that are responsible for rendering different HTML elements, such as div and paragraphs, but naturally its possible to construct these types of object for different purposes as well.
- One of the most powerful foundations of efficient software development is Polymorphism. This is true even though many inexperienced developers do not see how relevant this key pillar of programming actually is to building solid applications.
In PHP 5, which as you know is best for constructing...
-
Posted: January 7th, 2010, 7:00am MST
In the first part of this two-part series, you learned the network communication concepts you need to know to understand the operation and data provided by Wireshark. I also covered the installation steps and some very basic configuration. This part will delve more deeply into using Wireshark for analyzing your network.
- Specifically, in this part, you will learn details about Wireshark, its operation, features, capturing packets and getting text data, as well as interpretation of packet information. You will also learn how to optimize the configuration of Wireshark so that you can capture not only packets from you...
-
Posted: January 6th, 2010, 7:00am MST
You don't need to be working in a strictly-typed language like C to enjoy the benefits of polymorphism. You just need to achieve it at a different level. In this seven-part series, you'll learn how to use polymorphism in PHP 5.
- If you've ever developed applications with C, then you know that its support for Polymorphism is thorough, clear and well defined. Being a structured, strictly-typed language, C will let you define functions that have the same name and that also accept the same number of arguments. However, if the ...
-
Posted: January 5th, 2010, 7:00am MST
Do you need to sniff out and spy on network communications in a LAN, WAN or any network configuration? Or have you found yourself in a difficult situation troubleshooting network-related problems inside and outside of your network? Then you need a network analyzer to examine the packets going into and out of certain media. Wireshark can help. Keep reading to find out how.
- One of the most popular open source network analyzers is Wireshark. Since it is open source, you can use it for all purposes as long as you abide by their terms of use, whether for personal, commercial or education-related projects.
This article is for readers who are entirely new to Wireshark and ...
-
Posted: January 4th, 2010, 7:00am MST
In this second part of a two-part series on error and exception handling in PHP, we focus specifically on handling exceptions. This article is excerpted from chapter 8 of the book Beginning PHP and Oracle: From Novice to Professional, written by W. Jason Gilmore and Bob Bryla (Apress; ISBN: 1590597702).
- Exception Handling
Languages such as Java, C#, and Python have long been heralded for their efficient error-management abilities, accomplished through the use of exception handling. If you have prior experience working with exception handlers, you likely scratch your head when working with any l...
-
Posted: December 31st, 2009, 7:00am MST
Mistakes are inevitable, in life, programming, and application submissions. You can prepare for errors by making sure your application is designed to respond to them. This two-part article explains how PHP handles errors. It is excerpted from chapter 8 of the book Beginning PHP and Oracle: From Novice to Professional, written by W. Jason Gilmore and Bob Bryla (Apress; ISBN: 1590597702).
- Even if you wear an S on your chest when it comes to programming, you can be sure that errors will creep into all but the most trivial of applications. Some of these errors are programmer-induced they are the result of mistakes made during the development process. Others are user-induced, caused by ...
-
Posted: December 30th, 2009, 7:00am MST
Despite their name, static properties can help in a wide variety of situations. If you're not using them currently, and you regularly implement design patterns in your code, after reading this series you'll wonder how you ever did without them. This article is the conclusion to a four-part series.
- The term static is misleading when applied to a property of a class in PHP 5. It may lead you to think that a property like this does nothing particularly useful, or simply that its functionality is so irrelevant that it can't be considered a truly dynamic in-memory place.
Fortunately, this ini...
-
Posted: December 29th, 2009, 7:00am MST
In this third part of a four-part series on static variables, I show how to use another static property in the previous MySQL driver to connect more cleverly to the database server. This example demonstrates how powerful a property like this can be, when utilized in an effective manner.
- While at a glance the subject may seem rather irrelevant and even pretty boring, the truth is that the proper use of static variables in PHP 5 classes can be of great help in improving the way that they perform certain tasks and their relationship in a given application context.
Thus, if you're a...
-
Posted: December 28th, 2009, 7:00am MST
In this second part of a four-part series, I finish building a sample MySQL driver by adding to it a whole new class responsible for iterating over database result sets through a friendly and intuitive API. This functional example shows that the use of a simple static property makes it easier to implement the Singleton pattern, which is convenient when developing a class that abstracts the access to a database server, be it MySQL or a different one.
- Understanding the behavior of static class properties in PHP 5 is a straightforward process that can be tackled with minor headaches, even for inexperienced developers taking their first steps into the huge and sometimes esoteric field of object-oriented programming.
And the reason for this is sim...
-
Posted: December 23rd, 2009, 7:00am MST
Welcome to the final installment of a series on working with foreign key constraints in MySQL. With a respectable number of code samples, this series walks you through the basics of using foreign key constraints in MySQL tables and teaches you how to use them specifically for maintaining the integrity of relational databases.
- And now that you've been introduced to the goal of this group of articles, its time to refresh the topics that were covered in the last tutorial. In the penultimate part of the series, I showed you how to trigger the deletion in cascade of rows of a child MySQL table after performing the same oper...
-
Posted: December 22nd, 2009, 7:00am MST
In this first part of a four-part series, I show you how the declaration and further use of a single static property inside a MySQL abstraction class can be really useful for turning this class into a Singleton. While its fair to say that you can use different approaches for implementing this design pattern, most of them will employ a static variable.
- Without starting a debate about the strengths and weaknesses of PHP 5, I'd like to say that the language, with all its cons and pros, has reached a great level of maturity, particularly when it comes to evaluating its highly-enhanced object model.
Well-known improvements like member visibility a...
-
Posted: December 21st, 2009, 7:00am MST
In this fifth article of a six-part series, you will learn how to use foreign key constraints in MySQL to produce the deletion in cascade of rows in a child table when the related rows of the corresponding parent are deleted as well. We'll use a simple MySQL abstraction class to do the trick.
- Maintaining the integrity of a database in MySQL or other RDBMS isnt always a simple task; this is notoriously evident where the responsibility to carry out this process is delegated to the application that interacts with the database. In those situations, establishing and maintaining relationships...
-
Posted: December 17th, 2009, 7:00am MST
In this fourth installment of a six-part series, I explain how to use foreign key constraints to update rows of two InnoDB tables via a basic abstraction class built into PHP 5. This example will help you start utilizing foreign key constraints with a particular server-side scripting language.
- Being the most popular open source RDBMS available nowadays, its not breaking news to say that MySQL supports multiple storage engines, including the default, highly-fast MyISAM type, which you may have used hundreds of times before for developing your own database-driven web applications.
However,...
-
Posted: December 16th, 2009, 7:00am MST
In this third installment of a six-part series, I explain how to trigger cascading updates and deletions of records of a child table, when performing the same operations on the associated rows of its parent table. Achieving this with InnoDB tables is a simple process, thanks to the use of a single foreign key constraint.
- True to form, developing database-driven applications that can maintain the integrity of multiple tables isnt an easy task. This applies to programs that interact with the most popular open source RDBMS available today, MySQL server.
Understanding why building such applications can be a pretty di...
-
Posted: December 15th, 2009, 7:00am MST
Welcome to the final part of a series on implementing factory methods in PHP 5. Composed of six approachable tutorials, this series uses numerous hands-on examples to teach you how to define specific methods within your own PHP programs. These methods return to client code instances from their originating classes, and from other classes as well.
- And now that you know what to expect from this series of articles, its time to quickly review the topics that were covered in the last tutorial. In that part of the series I built a simple application in PHP 5 composed of two classes for its building blocks. The first was merely a basic MySQL ab...
-
Posted: December 14th, 2009, 7:00am MST
Welcome to the fifth part of a six-part series on implementing factory methods in PHP 5. In this part, I show how the removal of a factory method inside the constructor of the class that originates persistent objects can produce a huge impact in the way that those objects handle its dependency, which happens to be a database handler object.
- Unquestionably, defining factory methods during the development of an application is a task that both programmers and web developers must tackle frequently. In the case of PHP 5, this process is fortunately a no-brainer one, due to the versatility of its robust object model and its flat learning...
-
Posted: December 10th, 2009, 7:00am MST
Foreign key constraints are a powerful feature provided by many modern RDBMS that allow you to automatically trigger specified actions, such as deletions or updates of the records of database tables that maintain a predefined relationship with each other. This is the second part of a six-part article series that shows you how to work with foreign key constraints in MySQL.
- The good news is that you, as a PHP developer, can take advantage of the numerous advantages offered by foreign key constraints when working with InnoDB tables in MySQL (even though support for MyISAM tables has already been announced for future releases of MySQL).
So, if youre interested in learn...
-
Posted: December 9th, 2009, 7:00am MST
In this first part of a six-part series, I provide you with a basic introduction to using foreign key constraints with InnoDB tables in MySQL. As you'll soon see, triggering a cascading update on the records of a child table when updating the rows in a parent table is a breeze.
- If you have ever developed some small database-driven web applications with MySQL, then certainly youll know that performing CRUD operations (short for Create, Retrieve, Update, Delete) on a few relational database tables is a pretty straightforward process. In theory, a decent knowledge of the mos...
-
Posted: December 8th, 2009, 7:00am MST
In this fourth part of a six-part series on implementing factory methods in PHP 5, I show how a simple factory method can improve the efficiency of a sample database-driven application when a database handler is utilized by multiple objects. In this specific case, the method returns Singletons of the database handler, which is a significant enhancement.
- As their name clearly suggests, factory methods are regular class methods whose responsibility is to fabricate objects in accordance with the requirements of a specific context. Since these methods are a concrete implementation of the homonymous design pattern, theyre used frequently in mature obje...
-
Posted: December 7th, 2009, 7:00am MST
Welcome to the third part of a series that shows you how to implement factory methods in PHP 5. Made up of six tutorials, this series uses numerous friendly code samples to illustrate how to implement the Factory and Singleton design patterns within your PHP 5-based web applications. In this way, they will be able to build objects in a truly efficient manner.
- And now that you know what to expect from this set of articles, its time to review the topics that were discussed in the last one. In that installment of the series, I explained how to build a simple factory class that could return to client code objects that represented a couple of common web f...
-
Posted: December 4th, 2009, 2:00pm MST
As the Internet integrates itself more and more into our daily lives, we see the popularity of electronic media spread like a virus. Websites like Youtube and Flickr have had a great deal of success by primarily focusing on user-generated content. Because so many people are uploading media, making the process as easy as possible makes the most sense. Keeping reading to see how Flex can do this for you.
-
All modern browsers have some default methods of uploading which can be expanded to some degree. But to make a really sleek application which can provide cool features like upload progress, image preview, and multiple file upload...
-
Posted: December 3rd, 2009, 7:00am MST
Definitely, building chainable class methods with PHP 5 is a process that can be mastered with minor effort, even for developers with only an average level of experience in using the object-oriented paradigm. Therefore, if you're a passionate PHP programmer who wishes to learn the key concepts that surround the implementation of method chaining in a painless fashion, then this group of articles is what you need.
- Welcome to the final part of a series that covers method chaining in PHP 5. In twelve tutorials, this series attempts to teach you the basics of building chainable class methods with PHP 5 and complements the corresponding theory with copious hands-on examples.
And now that you've come to this po...
-
Posted: December 2nd, 2009, 7:00am MST
In this eleventh part of a 12-part series on method chaining, I will finish building the custom CodeIgniter library we've been working on by adding to it some very useful features. When we're done, the library will be able to autoload a specified model and validate input data.
- True to form, method chaining is a powerful approach that lets programmers build compact and highly modular class interfaces. Of course, this methodology isnt a proprietary feature of a particular language, which means that it can be applied quite easily in PHP 5.
Thus, if youre a PHP developer who...
-
Posted: December 1st, 2009, 7:00am MST
In this second installment of a six-part series on implementing the factory pattern in PHP 5, I explain how to build an improved version of a factory class that returns Singletons of itself to client code.
- While this may sound like a cliché, the truth is that building factory methods in PHP 5 is a straightforward process that only requires an intermediate background in working with objects and classes. After all, a factory method is merely a regular class method that returns, when possible, one or mor...
-
Posted: November 30th, 2009, 7:00am MST
When two people are able to communicate we generally assume that they know the same language, and that is the key to understanding each other. This applies to the world of computing as well, where the set of standards are called protocols. During this article we plan to present in a nutshell the most common TCP/IP protocol types. We wont get in-depth, so dont expect university course-style material just the basics.
- Before we move on, let's fully grasp the concept of protocol and explain how more of those build up a structure called the OSI model. How are they important to us? Finally, we'll get into enumerating the popular TCP/IP protocols. These are the ones we need to be familiar with, since our applications...
-
Posted: November 25th, 2009, 7:00am MST
Welcome to the tenth installment of a series on method chaining in PHP 5. Comprised of twelve tutorials, this series teaches you the key concepts that surround the implementation of chainable methods within PHP classes, and shows how to put them to work to create a custom library for the popular CodeIgniter framework.
- And now that you know what to expect from this series of articles, its time to refresh the topics that were discussed in the last one. In that part of the series I explained how to add some chainable methods to the already familiar AbstractModel class, which was a pretty useful add-on for CodeI...
-
Posted: November 24th, 2009, 9:56am MST
You might scoff at the idea of using PostgreSQL to replace your Oracle database, but when you look inside the numbers you can save a lot of money. Migrating from Oracle to PostgreSQL might make sense for you.
- PostgreSQL is known for its transactional power and for years has been treated as an afterthought when considering enterprise database development. However, a company called EnterpriseDB is attempting to expound on the joys of using PostgreSQL.
EnterpriseDB is the leader in developing open-source...
-
Posted: November 24th, 2009, 7:00am MST
If youve ever developed desktop applications using mature object-oriented languages like C++ and Java, then its possible that youve found yourself saying a few funny phrases such as I need to implement a factory method within this class, or in the worst case: this class needs to implement a factory method, but I dont have a single clue about how to do that. Surprisingly, you can implement these factory methods pretty quickly and easily in PHP 5, as this six-part series will show you.
- To be honest, I grappled with factory methods in Java myself, but in the end I learned not only how to quickly build factory methods in Java classes, but how to implement those methods in PHP as well.
While it's undeniable that PHP is easier to learn than Java, many PHP developers with long e...
-
Posted: November 23rd, 2009, 7:00am MST
This is the second part of a tutorial on file splitting during an FTP upload. In this part, you will learn the details of file merging and implementation. The split PHP script was thoroughly discussed in the first part. It is highly recommended that you read that part to easily understand this one.
- As discussed before, once all the split parts of the file have been uploaded to the FTP server, you can safely recombine them into one file again (this is the merging process) using the PHP file merging script.
Example: File splitting process
Before we start the merging process, lets look at an a...
-
Posted: November 19th, 2009, 7:00am MST
In the first part of this two-part series, you learned the importance and principles of Yahoo Site Explorer's inbound links API with respect to search engine optimization. If you read that part, you should already have your application ID, which will be used in your PHP script to make API calls. Also discussed in the first part is how to formulate the GET Request URL, and how to understand the responses from the inbound links API. In this part, you will start consolidating all of those inputs and implement what you've learned using a PHP server side scripting language.
- The Basic Request and Response PHP Script
Yahoo Site Explorer's inbound links API provides sample PHP code to make requests and for receiving responses. The API documentation for using PHP in the application can be found in two places, here and here. The sample script at the second link is a very ...
-
Posted: November 18th, 2009, 7:00am MST
In this ninth part of an 11-part series on method chaining, I will add three new chainable methods to the custom CodeIgniter model class we built in previous parts. You should find this a straightforward process, especially if you have a decent background in this frameworks database class.
- While its not going to change forever the way that PHP developers build their web applications, method chaining is a solid programming approach that permits them to build classes that have highly compact and modular interfaces.
So, if youre always looking for new ways to improve your existing deve...
-
Posted: November 17th, 2009, 7:00am MST
One of the known limitations of free hosting packages is the file upload limit. For example, some hosting companies set an upload limit of 500 KB. This means that for any uploads to the FTP server, the file should not be more than 500 KB or else the server wont accept it and you will not be able to upload your file. Fortunately, by splitting your files, you can get around this limitation; this two-part tutorial series will show you how.
- Of course, some files that are important for web site functionality exceed 500 KB. For example, if you are running a web application that needs a geo IP database, a typical file for the geo IP DAT file is around 1.1MB. So this cannot be uploaded as one batch because it exceeds the upload limit of ...
-
Posted: November 16th, 2009, 7:00am MST
Welcome to the eighth installment of a series on method chaining in PHP 5. With numerous code samples, this series shows you how to define chainable methods within your own PHP classes. Best of all, it teaches you how to implement this powerful programming method in a real-world case: developing an abstract model for the CodeIgniter framework.
- Naturally, if you already read the preceding article of the series, at this point you have a clearer idea of how to apply the method chaining approach to building a customized model class for CodeIgniter. In that tutorial I started to create such a class. It had the ability to fetch and insert/upd...
-
Posted: November 12th, 2009, 7:00am MST
The Yahoo Site Explorer API offers useful data for anyone who is trying to do well in the search engines. The trick is getting that data into a form you can use. Keep reading to learn how to build an application that will organize the information so you can analyze it.
- If you belong to the search engine marketing industry, one of the most important decision making problems can be found in search engine optimization (SEO). You will need to do analysis of both your competitor's and your own web sites. In SEO aimed at Google, one of the most important factors to e...
-
Posted: November 11th, 2009, 7:00am MST
Welcome to the seventh part of a 12-part series on the technique of method chaining in PHP 5. In this part, I will demonstrate how method chaining can be used to develop some core methods of a custom library for CodeIgniter.
- In case you havent explored it in depth yet, method chaining is a useful programming methodology that permits you to build highly modular and compact APIs when using the object-oriented paradigm. This isnt a proprietary feature of a specific programming language; however, its possible to implement...
-
Posted: November 10th, 2009, 7:00am MST
This article shows illustrative examples of how PHP and some advanced MySQL queries can be used to build an online trading system. For simplicity, we will be featuring one of the most common stock indexes: the S P 500 index.
- This is also called E-mini S amp;P 500 futures, one of the most commonly traded equities/futures.
The Design
As of September 2009, there was no currently working trading system on the Internet powered by PHP and MySQL despite the platform's popularity among open source communities.
A trading sys...
-
Posted: November 9th, 2009, 7:00am MST
Among the numerous features provided by PHP 5, theres one that many developers find appealing. It permits the building of compact and modular programming interfaces. Yes, as you may have guessed, in this specific case Im talking about method chaining, a programming approach can be easily mastered by those with an average background in the object-oriented paradigm. This is the sixth part of a 12-part series on method chaining.
- Indeed, learning how to create chainable methods in PHP 5 class is a pretty straightforward process that will make your own classes more compact and modular as well. Therefore, I suggest you read this series of articles; in it, you'll find an approachable guide that will show you the basics of usin...
-
Posted: November 5th, 2009, 7:00am MST
If you are a web developer or administrator, aside from administering your web server, you should also be administering your MySQL database in terms of security. This database is open source and is commonly used with the PHP web server scripting language; tons of useful applications are being developed with this kind of setup. This is good, but it opens up issues, which we'll discuss here along with their solutions.
- Because of its immense popularity, MySQL is also a regular target for malicious users or hackers wanting to exploit your system and steal data. This type of exploit can be serious; it can include putting malicious software on your web server and using the website to host malware.
To avoid lettin...
-
Posted: November 4th, 2009, 7:00am MST
Welcome to the fifth part of a 12-part series focused on method chaining in PHP 5. Through a set of comprehensive and easy-to-follow tutorials, this series of articles shows you how to create and use chainable methods within your own classes. It also teaches you how to implement this useful programming methodology for developing real-world web applications.
- And now that you have been gently introduced to the main goal of this multi-part series, its time to quickly summarize the topics that were discussed in the last installment.
In that article I explained how to create a simple, yet useful MySQL abstraction class. It was composed of a few straightf...
-
Posted: November 3rd, 2009, 7:00am MST
PHP encryption is a method of obfuscating scripts in such a way that it offers additional protection and prevents unauthorized editing of the scripts. This article discusses both encryption and decryption.
- You might have seen encrypted PHP scripts which may look like the one below:
lt;?php eval(gzinflate(base64_decode('FZfHDoTYEUV/ZXYzIxbkJFseAU1qcg4bi9TknPl64z0SUK/
evef8859///NHcSTdX+VTD78u2Yq/0mQtCOy/
eZGNefHXn0L8kz5jKAueDcZhVNSnh9+OYd6flsK+PCKjqtEnIJoRtF3TO+
GH4UyCIED/st8VD9APjg8Nj+m1ysH0OIj...
-
Posted: November 2nd, 2009, 7:00am MST
In this fourth part of a 12-part series on method chaining, I start building a basic MySQL abstraction class that implements a few straightforward methods. Of course, the methods can be easily chained to each other, which permits us to build different parts of a SELECT statement through a truly compact and readable API.
- Put it in a simple way, method chaining is a handy programming methodology that allows you to create classes whose methods can be easily linked to each other, thus building a highly compact API.
Building chainable methods is not a proprietary approach supported by a particular programming language...
-
Posted: October 29th, 2009, 7:00am MDT
If you're looking for a way to control or restrict access to your Linux-based applications, you might want to look at SELinux. This extension has been around since Linux kernel 2.6 and can help you with your access issues.
- Before we begin, first we need to understand what kind of access control we're talking about, and then we can easily comprehend how quot;mandatory access control quot; (MAC) tries to accomplish our aims. The operating system has the ability to examine the course of an action that an quot;initiator...
-
Posted: October 28th, 2009, 7:00am MDT
In this third part of a 12-part series on method chaining, I complete the definition of the sample string processor class. This process will help reaffirm the concepts that you learned before regarding the definition and implementation of chainable methods in PHP 5.
- Method chaining is a simple, yet powerful, programming approach that permits you to write classes whose methods can be easily linked with each other, thus building a modular and highly-compact API. Logically, as with other methodologies, chainable methods are not a proprietary feature of a particula...
-
Posted: October 27th, 2009, 7:00am MDT
Do you want to learn how to handle PHP WHILE loops? WHILE loops are one of the most powerful features as well as the easiest loop available to any PHP/MySQL developer. They enable us to shorten repetitive tasks for a highly useful application. This tutorial gives examples of WHILE loops in PHP/MySQL that beginner and novice developers can use as a quick reference for building similar loops in their applications.
- The early part of this article will focus on both basic and advanced WHILE looping techniques entirely written for PHP. The last part will be devoted to the use of WHILE Loop in displaying MySQL queries.
There are different types of loops in PHP that suit different applications. Seeing actual ex...
-
Posted: October 26th, 2009, 7:00am MDT
In this second part of a 12-part series on method chaining, I explain how to extend the functionality of the string processor class by adding to it a few simple chainable methods. I conclude this part by defining a factory method within the string processor class.
- Method chaining is a programming approach that permits you to chain multiple methods of a class in one single step, to perform several tasks in the context of a specified application.
Logically, this approach can be used equally with various programming languages, and PHP 5 certainly is no exceptio...
-
Posted: October 22nd, 2009, 7:00am MDT
Many sites feature web forms to collect information from users. Unfortunately, these forms often provide a poor experience for the user, with predictable results. This article will show you how to make filling out web forms more fun (or at least less painful) for your users with the help of PHP and some AJAX magic.
- One of the most important requirements for PHP web forms is usability; it's the goal of many web designers to improve the user's experience. With classic PHP web forms, a user is required to enter information in the form and then press the submit button. The PHP script will then validate the data ...
-
Posted: October 21st, 2009, 7:00am MDT
Method chaining is a useful technique that helps you to write more compact and powerful code. In this first part of a series that introduces you to this programming methodology, you'll learn how to define and use chainable methods in PHP 5. The process is quite simple to grasp, even if you have only an intermediate background in using the object-oriented paradigm.
- Over the course of the last few years PHP has reinvented itself; that's why it's the mature language that we see nowadays. The most significant change introduced by the PHP development team is the release of PHP 5, which incorporates a robust object model, a good exception handling mechanism, type...
-
Posted: October 20th, 2009, 7:00am MDT
Welcome to the sixth part of a series covering the dependency injection pattern. In this part, I build a PHP 5-based application that can work seamlessly with MySQL and SQLite. It will feature a simple interface and a MySQL driver.
- When it comes to defining the way that a PHP class is going to accept the instances that it will need to work within a given application, theres a simple and powerful approach that allows you to achieve this goal in a truly effective way, without suffering premature hair loss.
Does this phrase rin...
-
Posted: October 19th, 2009, 7:00am MDT
In this fifth part of a six-part series on the dependency injection pattern, I explore the implementation of the pattern by using a simple setter method within a model class. You'll see that this approach is very easy to follow.
- While not as widely known as other popular design patterns like Singleton and Factory, the dependency injection pattern is a powerful programming methodology that allows you to define the way that one given class is going to accept additional objects that it requires to work as expected.
In the...
-
Posted: October 15th, 2009, 7:00am MDT
Welcome to the fourth part of a series on applying the dependency injection design pattern in PHP 5. Through a strong hands-on approach, this series teaches you several methodologies that you can use for taking advantage of the functionality given by this simple yet powerful design pattern. It shows you how to build classes that follow the schema imposed by the Inversion of Control software design principle.
- And now that you've been introduced to the goal of this series, its time to review the topics that were covered in the last article. In that tutorial I explained how to apply the dependency injection pattern with a couple of sample classes.
In this concrete example, the first of these classes was ...
-
Posted: October 14th, 2009, 7:00am MDT
In this third article of a six-part series, you will learn how to implement the dependency injection pattern by using a simple setter method. This process is very similar to the one that uses a constructor, which we covered in the previous article.
- One of the most common tasks that many PHP 5 programmers must tackle during the development of object-oriented web applications is defining the way that objects are going to interact with each other. While this process seems to be a no-brainer one at first sight, the truth is that in real-world cond...
-
Posted: October 13th, 2009, 7:00am MDT
While not being as widely known as other design patterns such as Factory, Singleton or Active Record, the Dependency Injection pattern provides both programmers and web developers with a well-structured solution that allows them to solve issues that arise when an object needs the functionality of another one (hence the dependency) to work as expected. This is the second part of a six-part series that shows you how to apply this pattern.
- In simple terms, when this pattern is applied, the dependency is directly injected (hence its name), either through the constructor of the receiver object or via a setter method. In both cases, the implementation of the pattern goes hand in hand with a concept of software engineering called Inversi...
-
Posted: October 8th, 2009, 7:00am MDT
In this first part of a six-part series, I introduce you to the dependency injection design pattern and its use with MySQL. Specifically, I create a typical scenario where one persistent class needs the functionality of its dependency, in this case a database handler, to gain access to a MySQL table.
- Without a doubt, design patterns are one of the big pillars of software development that allow you to build high-quality desktop and web applications through well-trusted solutions. A solid understanding of basic concepts such as inheritance and polymorphism, in conjunction with a respectable knowl...
-
Posted: October 7th, 2009, 7:00am MDT
Statistics aren't just for Excel spreadsheets anymore. If you've been wondering how to use PHP to help you do a basic statistical analysis, keep reading. In this article you'll learn how to use PHP to help you compare data sets.
- This is the continuation of a two-part article in which we cover the use of PHP to calculate descriptive statistics. In this article, we will go deeper, using PHP to do inferential statistics. This is a completely different area of statistics in the sense that inferential statistics deals with the ...
-
Posted: October 6th, 2009, 7:00am MDT
Have you ever thought of doing statistical analysis using PHP? Well, as simple as this technology can be, it enables an analyst to do server-side scripting commands which accept data from a web form, and then analyze the data in the server using PHP.
- What is the benefit of doing it on the server side? First and foremost, it offers security to the scripts and to your tool. Most statistical analysis tools online are handled with JavaScript, which is client-side and prone to data alteration, as in the case of JavaScript injection.
If the scripts ...
-
Posted: October 5th, 2009, 7:00am MDT
In the first part, you learned about CSS and some basic tips/techniques for using the slider to display colors. In this part, we will discuss how we are going to write our AJAX and PHP scripts to make our user-defined CSS website.
- If you'd like to see where we're headed before we get there, you can check out the complete demo.
You can use this CSS/AJAX technique to let users customize your website's font colors and backgrounds to maximize their user experience. It was said in the first part that if users have the freedom t...
-
Posted: October 1st, 2009, 7:00am MDT
PHP as a server side scripting language can be used to customize CSS. This can make your website more readable and useful to your visitors. In this article, you'll learn what you can do to let them adjust your site so it looks good to them. This is the first part of a two-part series.
- Consider this example: you are designing a website with a black font color and white background. It seems very nice on your monitor; the problem is your readers. Some computer monitors may display your web page as extremely sharp because of the white background. Depending on the situation, some read...
-
Posted: September 30th, 2009, 7:00am MDT
If youre a PHP developer who wants to learn how to create objects that can maintain their state through different HTTP requests, either by using cookies, plain text files or MySQL database tables, then dont look any further because youve come to the right place. Welcome to the last part of a six-part series on building persistent objects in PHP 5. This tutorial series introduces the key concepts that surround the creation of persistent objects, and complements the corresponding theory with copious code samples.
- And now that you know what to expect from this set of articles, it's time to review the topics that were discussed in the last one. In that part of the series I built a simple example class in PHP 5, which was able to save its properties, along with the values assigned to them, to a MySQL table....
-
Posted: September 29th, 2009, 7:00am MDT
Welcome to the fifth part of a six-part series that shows you how to build persistent objects in PHP 5. In this part of the series, I'll show you how to develop a persistent class that can save its properties to a MySQL table.
- Frankly speaking, creating objects in PHP 5 that are capable of maintaining their state through several HTTP requests is a pretty simple task, certainly much easier than you might have thought. In general terms, the entire creation process is reduced to defining a class that has some kind of storag...
-
Posted: September 28th, 2009, 7:00am MDT
Persistent objects appear at first to be an obscure and hard-to-grasp subject that belongs under software development. In fact, persistent objects are simply regular objects spawned from a class that has some form of storage mechanism associated with it. This six-part series shows you how to get the most out of persistent objects in your web applications.
- In the particular case of PHP 5, which as you know is well-suited for building web applications, persistent objects are very often created to overcome the stateless nature of the HTTP protocol. This implies defining classes that are capable of saving the state of their instances to a database tabl...
-
Posted: September 24th, 2009, 7:00am MDT
Welcome to the conclusion of a five part series that shows you how to implement lazy and eager loading in PHP 5. These two design patterns allow you to handle the resources for an application in very different ways. Through numerous code examples, I've demonstrated when it is appropriate to use each method.
- As you may know as a PHP programmer, one of the most important facets that must be tackled during the development of a web application is properly establishing the way that its resources will be managed. While there are many factors involved in this process that will affect, both directly and ind...
-
Posted: September 23rd, 2009, 7:00am MDT
Welcome to the fourth chapter of this series on implementing lazy and eager loading in PHP 5. In five friendly tutorials, this series walks you through the basics of using these powerful approaches for including classes on request in your scripts, and teaches you how to work with these patterns when manipulating properties of a certain class.
- Without a doubt, grasping the key concepts that surround the implementation of the lazy and eager loading design patterns in PHP 5 can be of great help when it comes to developing web-based applications that handle their resources in a truly efficient way.
So, if youre a PHP programmer who wants to...
-
Posted: September 22nd, 2009, 7:00am MDT
Welcome to the third part of a six-part series on building persistent objects in PHP 5. Through a decent variety of code samples, this series provides you with the right pointers to start creating objects that can save themselves to a persistent storage mechanism, including simple cookies, plain text files, and MySQL database tables.
- Though it may sound scary and a bit intimidating, creating objects in PHP 5 that can maintain their state through a number of HTTP requests is an extremely simple process. It only requires an intermediate background in the object-oriented paradigm, along with a basic understanding of how to serial...
-
Posted: September 21st, 2009, 7:00am MDT
Despite its rather intimidating name, persistent objects represent a pretty simple concept applied very often in software development. It's aimed at creating structured entities that can maintain their status across different stages of an application. This six-part series will take the mystery out of persistent objects so you can use them in your own applications.
- When using PHP 5 for developing web-based programs, creating this kind of object is even simpler. In most cases, the creation process is reduced to defining classes that are simply capable of keeping their state through several HTTP requests, in order to overcome the stateless nature of this protoc...
-
Posted: September 17th, 2009, 7:00am MDT
Welcome to the third part of a five-part series on lazy and eager loading in PHP 5. In this part of the series, you'll learn about the lazy design pattern, and how to use it effectively in your applications.
- Very often, the terms lazy and eager are used in daily talking to define or qualify the way that certain people are, or simply to judge their behaviors and reactions in response to a number of situations that occur in life. The truth is that we, as individuals, are an interesting mixture of thes...
-
Posted: September 16th, 2009, 7:00am MDT
Welcome to the second installment of a series that shows you how to implement lazy and eager loading in PHP 5. Through a strong hands-on approach, this series teaches you how to use these patterns in some typical scenarios. In this way, you'll grasp their underlying logic and learn quickly how to take advantage of their functionality to speed up your own PHP-based programs.
- Learning how to apply the lazy and eager loading design patterns in PHP 5 can have a huge impact in the performance of your web-based applications, especially if they rely on objects that are used for interacting with one or multiple database tables. Therefore, if you're interested in learning the k...
-
Posted: September 15th, 2009, 7:00am MDT
The HTTP protocol is stateless, but sometimes it is necessary to make web applications store or remember information. This is sometimes referred to as persistent storage, and it takes on a number of different forms. This six-part series of articles will explain the concept and show you various ways to give your web applications a memory.
- Very often, youll hear web developers to say (sometimes with a subtle sense of arrogance) that a certain application uses a persistent storage mechanism to save the data it needs to work properly. This is nothing but an elegant way to say that a web program uses a relational database, a simple text...
-
Posted: September 14th, 2009, 7:00am MDT
In the last article, I talked about the need to work at the bit level in Perl and in other languages. In order to understand bits, we first took a look at how binary numbers are represented in Perl, and then we took a look at two bitwise operators, AND and OR. In looking at the operators, we looked at their most common uses in programming. We also began to look at an algorithm for finding prime numbers, but we stopped upon seeing that there is no easy implementation, at least not without a knowledge of bits.
- In this article, we'll finish learning about bits. We'll take a look at a few more operators and an important Perl function for working with bits. Finally, we'll implement the algorithm we looked at.
You may want to read the previous article if you haven't (or review it if you have) before you d...
-
Posted: September 10th, 2009, 7:00am MDT
As you may know, design patterns are proven, well-trusted solutions that tackle a specific problem that occurs frequently in software development. As with many other principles and paradigms in this area, some patterns are more popular and easier to learn than others, and when applied properly, can considerably improve the efficiency and performance of an application. This five-part article series will discuss two of these.
- In the case of PHP 5, which is better suited for developing web-based programs, there are two complementary design patterns that can be of great help in building faster and more reliable applications. Of course, as this articles title suggests, Im talking about the lazy and eager loading patterns....
-
Posted: September 9th, 2009, 7:00am MDT
Welcome to the final episode of a series that shows you how to use filters in PHP 5. Made up of nine parts, these articles show you how to utilize the numerous checking filters that come with the filter library. You can use them to thoroughly validate the incoming data handled by your PHP programs, without having to spend a long time coding custom functions or class methods.
- Naturally, if youve been a patient reader and already went through the preceding articles of the series, Im certain that at this point youll have a solid background in using the filter extension for checking common data types, including email and IP addresses, integers and float numbers, and so fo...
-
Posted: September 8th, 2009, 7:00am MDT
Welcome to the conclusion of an eight-part series on building helpers in PHP 5. It's been a long journey, modifying our helper class to make it do what we want it to. Finally, in this last part, we'll put the finishing touches on our validation class so that it functions properly, without the need to spawn helper objects.
- For many PHP developers taking the first steps in the fascinating terrain of object-based programming, building helper classes is a mysterious process. That's easy to understand, considering the thin line of differentiation that sometimes exists between helpers and full-featured libraries.
...
-
Posted: September 3rd, 2009, 7:00am MDT
It's not unusual to need to write an application that can filter and sort a list of items based on user input. Maybe your e-commerce shop offers a variety of notebooks from different companies, and you want visitors to be able to sort or filter your selection. Combining Flex with ActionScript allows you to create such an application with a minimum amount of hassle (and code), as you'll see in this article.
- If you're already familiar with Flex and ActionScript, you will know how useful the listBase controls are to fast RIA development. When working with the List, Tree, DataGrids and other controls, you may first be looking to get over the hump of populating your control with the correct data. Under...
-
Posted: September 2nd, 2009, 1:00pm MDT
Before we can discuss how to make the most of BlackBerrys rich media capabilities, its important to have a firm understanding of what rich media is and how its characterized. We'll start with an explanation of what it is exactly, and then go on to cover what you can do with the Plasmic Content Developer's Kit.
- The term rich media is used to describe a wide array of digital interactive media, which can be downloaded or embedded into a web page. If the content can be downloaded, it can also be utilized offline with various media players, such as Microsoft Media Player, Real Networks' RealPlayer, and Apple...
-
Posted: September 2nd, 2009, 7:00am MDT
Welcome to the eighth part of a nine-part series on using filters in PHP 5. In this part, I discuss how to use the filter extension for sanitizing strings in all sorts of clever manners. I'll show you how to encode quotes, low and high ASCII characters in literals, and remove them in the same easy manner. Doing this can help prevent SQL injections and XSS attacks when developing PHP applications.
- In case you havent heard about it yet, the filter extension that comes included with PHP 5 is a powerful library that allows you to perform all sorts of clever validation tasks on incoming data, ranging from checking integers and float numbers, Boolean and string values, to accomplishing more compl...
-
Posted: September 1st, 2009, 7:00am MDT
Welcome to fifth and final part of this series on creating a dynamic Twitter signature image in PHP. In the last segment, I showed you how to implement custom PHP exceptions as an error-handling mechanism in your signature image application. Today were going to wrap up our signature image application by adding a caching feature. This is a two-fold solution that both boosts performance and overcomes a pitfall in the Twitter API.
- As a result of heavy usage, Twitter has begun limiting the number of API requests that it will serve to a single IP address within a given amount of time. This limitation is generally around 50 requests per hour. While this is usually not a problem, if you begin using your signature image on hig...
-
Posted: August 31st, 2009, 7:00am MDT
If youre an enthusiastic PHP developer interested in learning how to build helper classes, you've come to the right place. This article series will teach you in a few simple steps how to build several kinds of helper classes for manipulating strings, generating dynamic URLs and validate incoming data, and so forth.
- Welcome to the penultimate tutorial of the series on building helpers in PHP 5. Comprised of eight articles, this series provides you with the basic pointers to start creating your own helper classes with minor hassles, and complements the corresponding theory with a great variety of hands-on exam...
-
Posted: August 27th, 2009, 7:00am MDT
Welcome to part four of a five-part series on creating a dynamic Twitter signature image in PHP. In the last segment, I showed you how to implement PHP 5 exceptions as an error-handling mechanism in your signature image application. Today were going to expand upon that concept by creating a custom exception class for handling error states in our application.
- The code you have for this application so far is fully functional and includes full error-handling. You may be wondering what the need is for a custom exception class in the first place. So Id like to take a moment to discuss why Ive chosen to create one.
This application serves a single purpos...
-
Posted: August 26th, 2009, 7:00am MDT
If youre a PHP developer who wishes to learn how to take advantage of the solid functionality provided by the filter extension that comes with PHP 5, then look no further, because youve come to the right place. Welcome to the seventh part of a nine-part series that gets you started using the most useful validation filters included with this PHP library.
- And now that you know what to expect from this group of articles, it's time to review the concepts discussed in the last installment. In that article I explained how to use the filter extension for validating URLs in a truly painless fashion.
Indeed, the combination of the filter_var() functi...
-
Posted: August 25th, 2009, 7:00am MDT
Over the course of my past two articles Ive been showing you how to build a script capable of creating and displaying a dynamic signature image containing the latest status from a users Twitter feed. In the third installment in this series, I will be demonstrating how to add proper object-oriented error handling to the SignatureImage class.
- Before we begin, lets take a moment to examine the fully operational class.
class SignatureImage
{
private $screen_name;
private $profile_image;
private $status_text;
private $local_avatar;
public function __construct($name, $bg_image, $adir)
...
-
Posted: August 24th, 2009, 7:00am MDT
In this sixth part of an eight-part series on helper classes, I finish developing the validation helper class created in the previous part. We'll add even more useful validation methods to expand its functionality.
- Quite often, helper classes are overlooked by developers taking their first steps in PHP-based web development. They are used to encapsulate all of the functionality required to perform certain tasks in full-featured, large-scale libraries, which sometimes contributes to breaking down the intrinsic ...
-
Posted: August 20th, 2009, 7:00am MDT
If you have ever been in an unfamiliar place or stuck in traffic and looking for an alternate route, then you already know the magic that is GPS. One of the hottest areas in smartphone development today is location-based services, and BlackBerry is on the cutting edge when it comes to providing those services. In this article we will discuss BlackBerrys support of JSR 179, and learn to incorporate GPS functionality into our applications.
- Before we delve in any further into this article, I am going to assume that you are already familiar with programming basic BlackBerry applications, and that you have the required development environments and simulators installed on your computer. If not, I suggest taking a peek at BlackBerry's Deve...
-
Posted: August 19th, 2009, 7:00am MDT
When it comes to checking incoming data in web applications, PHP 5 provides developers with a huge arsenal of functions that permit them to perform this process in a pretty straightforward way. Indeed, checking integers and float numbers, IP and email addresses, alphabetic strings and so forth is a process that must be tackled frequently by programmers. Fortunately, validating data types is not a huge production with PHP.
- PHP 5 comes bundled with a useful set of native filters that allow you to validate all sorts of data types without having to spend a long time coding custom functions. These filters are known popularly as the filter extension and offer a flat learning curve. Therefore, if youre interested in learnin...
-
Posted: August 18th, 2009, 7:00am MDT
As a BlackBerry developer, it makes sense that a majority -- if not all -- of the apps you create are business applications. That's not likely to change in the near future. Fortunately, though, there are some great tools available to make your job easier.
- Historically, BlackBerry devices have been marketed as business tools geared toward working professionals. Though some minor things have changed, such as the appearance of BlackBerry's App World , which features a wide array of games for BlackBerry devices, it seems impossible to deny the fact that ...
-
Posted: August 17th, 2009, 7:00am MDT
Helper classes seem easy to build -- almost deceptively so. If you're building a helper class to assist with a crucial function, however, such as validation, the approach you need to take may seem a bit less straightforward. This fifth article in an eight-part series on building helper classes walks you through the process, complete with hands-on examples.
- True to form, for any PHP developer with only an average background in the object-oriented paradigm, building helper classes should be a pretty straightforward task. After all, this process doesnt demand the effort required for creating a full-blown library.
Its fair to say, though, that even when...
-
Posted: August 13th, 2009, 7:00am MDT
In my last article we began putting together a solution that will allow us to display dynamic Twitter signature images in forum posts and emails. In this article well continue where we left off by adding the functions that will harness the power of GD to create the actual image.
- Before we get too involved, lets take a moment to look at the code that weve built so far.
class SignatureImage
{
private $screen_name;
private $profile_image;
private $status_text;
private $local_avatar;
public function __construct($name, $bg_image,...
-
Posted: August 12th, 2009, 7:00am MDT
Among the enhancements that were introduced originally in PHP 5, theres one powerful extension that has been all but ignored by many programmers until now, quite possibly because they werent aware of its existence. Yes, as you might have guessed, Im talking about the filter library -- a handy set of filters and functions that allow you to validate different types of data with remarkable ease.
- Thus, if youre interested in learning how to put this group of filters to work for you in a very short time, begin reading this series of articles, since in it youll find the right pointers to get you started using the filter library in a true painless fashion.
However, if you already had the oppo...
-
Posted: August 10th, 2009, 2:59pm MDT
Twitter is the latest and greatest craze in social networking sites. As such, many developers and businesses are using it as a marketing technique. Today were going to come up with a method for creating a dynamic signature image for forum posts and emails that will automatically load your Twitter feed and display your latest Twitter status. Well be using PHP to grab the content along with GD2 support to create the image.
- Im going to be presenting the code in this article in an object-oriented fashion using PHP 5. If youre not already using object-oriented programming techniques its important that you begin doing that. You will be able to take advantage of more advanced features in PHP while building more robust ...
-
Posted: August 10th, 2009, 7:00am MDT
Are you a PHP developer wishing to find an approachable guide that walks you through building different kinds of helper classes in PHP 5? Then look no further, because this group of articles may be the material that you really need.
- Welcome to the fourth part of a series on building helpers in PHP 5. Comprised of eight tutorials, this series shows how to create some of the most common types of helper classes found in many popular PHP frameworks, and it complements the corresponding theoretical concepts with numerous code sample...
-
Posted: August 6th, 2009, 7:00am MDT
The Flex Tree control is amazingly useful when building applications, especially if you're dealing with hierarchical data. To learn how to add the power of this intuitive organizational component to your developer's toolbox, keep reading.
- The Flex Tree Control is a fundamental user interface component to application building. It naturally organizes hierarchical data into branches and leaf nodes, forming easily organized data. Modern day interfaces like operating systems and websites commonly employ some version of a Tree because of i...
-
Posted: August 5th, 2009, 7:00am MDT
Welcome to the fourth part of a series covering the use of filters in PHP. In this article, you'll learn some very useful ways to take advantage of the capabilities of the filter extension to validate Boolean values in arrays; we'll also show you how to validate float numbers.
- If you ever thought that PHP 5 comes mostly from its object model, then fortunately I have to say that you're wrong. The latest version of PHP comes packaged with many other handy features that have contributed enormously to making it the mature language that it is nowadays.
However, along with ...
-
Posted: August 4th, 2009, 7:24pm MDT
Tuesday evening, August 4th, the musician Chamillionaire launched a live, first showing video on his website along with a Twitter-based chat client. While the Twitter chat client worked from a data perspective, based on what the code showed it looks like most browsers would crash.
- Chamillionaire, known for his song, quot;Ridin' Dirty quot;, announced a live event on his website located at
[www.chamillionaire.com] While traffic spiked, the site appeared to be functioning slowly but fine. However, a clever implementation of a twitter chat client may have ru...
-
Posted: August 4th, 2009, 7:00am MDT
When you program, you're usually doing it at some distance from the bits and bytes that your computer understands. There never seems to be a need to think about bits. But believe it or not, learning about bits can be to your advantage for certain programming purposes. Perl provides operators for working with bits that let you leverage this knowledge.
- For many programmers, bits aren't an issue that receives any serious attention. Whenever someone mentions a bit, they get a vague idea of ones and zeros strung together, deep within the heart of a computer, at a level they don't have to work with or even think about. Creating a functioning program, ...
-
Posted: August 3rd, 2009, 7:00am MDT
In this third installment of a series on building helpers in PHP 5, I will provide you with the basic pointers for building a URL-handling helper class. The code examples, though simple, should serve to demonstrate how to create a helper that generates dynamic URLs.
- Undeniably, helper classes are one of the most useful resources found in a PHP developer's toolbox. They present several distinctive characteristics that make them look quite different from a typical full-blown library: on the one hand, they're built as small packages of logically-related methods, ...
-
Posted: July 30th, 2009, 7:00am MDT
BlackBerrys Java Development Environment (JDE) is crucial for a developer to understand, because it's the heart and soul of the development process. The JDE is a fully-integrated development environment and simulation tool for building Java Platform, Micro Edition (Java ME) applications. BlackBerrys JDE is a Mobile Information Device Profile (MIDP) compliant Java ME environment, which is ideal for developers who want to uphold seamless portability in their wireless applications.
- In addition to supporting MIDP 2.0, JDE also allows use of hundreds of proprietary BlackBerry APIs to take full advantage of the BlackBerry platform specific features that are not available on other smartphones in the market. As if that's not enough, the BlackBerry Java Development Environment also ...
-
Posted: July 29th, 2009, 7:00am MDT
Among the numerous libraries that come included by default with the PHP 5 distribution, theres one that has been overlooked by many developers. This is a shame, because it can be really useful for validating incoming data in a truly simple fashion. Im talking about the filter extension, a powerful set of functions that let programmers apply several filters to multiple PHP variables to perform all sorts of clever validations, ranging from checking for integer and float numbers, to verifying email addresses and URLs.
- Therefore, if you feel curious and wish to learn how to incorporate the filter extension into your web developers toolbox, then dont hesitate anymore; start reading this group of articles now!
Welcome to the third part of the series on using filters in PHP 5. Comprised of seven tutorials, this ser...
-
Posted: July 28th, 2009, 6:26pm MDT
The on-again, off-again relationship between Microsoft and Yahoo! appears to be back on, though cautiously. The announcement about the ad partnership between MSFT and YHOO should be announced by Thursday Morning.
- Yahoo!, once a giant of the search engine world has joined an alliance with Microsoft and one assumes the Bing search engine. While details are not available yet on what this means to Yahoo's earnings, the stock is up about 1.6% in after-hours trading at 8PM Tuesday evening.
Last year, Microsof...
-
Posted: July 28th, 2009, 7:00am MDT
BlackBerry and Java have a long and storied history together. Since the launch of the BlackBerry 5810 in 2002, all BlackBerry smartphones have been Java-based. All core BlackBerry applications have been written in Java. As you can see, there are many benefits to being familiar with Java, especially as it pertains to being a BlackBerry developer.
- Using Java to develop apps enables developers to create incredibly rich client applications, and the Java APIs that are already available on BlackBerry smartphones ensure that a developer has more control when it comes to providing customizable user interfaces, event listening, and system interfaces...
-
Posted: July 27th, 2009, 7:00am MDT
Theoretically defining the role of helper classes in PHP 5 (and other popular server-side scripting languages) is a pretty approachable process. As their name suggests, helper classes provide developers with a set of logically-grouped methods that allow them to easily perform certain repetitive tasks that are common to different web applications. This is the second part of an eight-part article series that shows you how to build a variety of useful helper classes and expand on their functionality.
- Typical examples of helper classes are those that dynamically build portions of a URL and validate incoming data, or that apply specific text-formatting filters to a supplied string before doing something useful with it, such as inserting it into a database table. Feel free to add your own to the ...
-
Posted: July 24th, 2009, 10:06pm MDT
Microsoft is releasing a security patch for Visual Studio and another moderate rated patch for IE for almost all versions. The patches are must-haves for developers that use Visual Studio and any internet explorer users.
- Here comes another critical patch from Microsoft. What it fixes is anyone's guess, but it affects almost all versions of Windows and .NET Visual Studio back to 2003. Developers are encouraged to register their guess, but make your guesses after you apply the patch.
Speculation is that the Inter...
-
Posted: July 23rd, 2009, 7:00am MDT
The Java platform is ideal for any developer who wants to create rich client apps, because it is capable of providing the most flexibility and power. The possibilities are literally endless because Java can be used to create a wide array of applications that feature a broad reach in terms of functionality. Whether you want to create games or corporate apps, its all possible using Java.
- Java development enables users to take advantage of many BlackBerry smartphone features, such as the camera, GPS and Bluetooth, and integrate those features seamlessly with already-existing BlackBerry apps such as the address book, calendar, and maps features. The only downfall -- if it could even b...
-
Posted: July 22nd, 2009, 11:14pm MDT
Recent attacks against the United States IT security infrastructure has officials worried that, over the next decade, qualified cyber-security personnel will be at a premium; and a shortage. The question is: how does the USA plan to lure and keep top tech talent to secure and protect the national information infrastructure?
- There's a definite digital-divide starting, but it's not between the rich and the poor; it's between the IT Security expert haves and have-nots...and it's spreading from private companies all the way to the US Government.
Recent studies of the country's top IT management shows that a whopping 35%+ ...
-
Posted: July 22nd, 2009, 7:00am MDT
As you know, when it comes to validating incoming data, PHP 5 comes bundled with a powerful set of native functions that allow you to perform all sorts of clever validations on a given variable. This includes checking for numeric values, arrays, strings, and objects as well. However, the best feature of the helpful validation capabilities offered by default by PHP 5 is its handy filter extension, even though it has been overlooked by many programmers so far.
- Indeed, this library of filters also permits you to perform powerful validation on variables in a pretty straightforward fashion, without the need to define custom and complex functions. So, if youre interested in learning how to use these filters within your own web applications, then this group of...
-
Posted: July 21st, 2009, 7:00am MDT
One of the reasons BlackBerry devices have become so popular is that they are very intuitive to use. As a developer, you will need to make sure the applications you build for BlackBerries fit this model. But how do you build an intuitive app? Keep reading.
- BlackBerry devices have obviously become the dependable, go-to device for corporate networks, such as IT, as well as financial and government networks. There are a number of different reasons that make this particular smartphone so appealing to developers. One of these reasons is how connected Black...
-
Posted: July 20th, 2009, 7:00am MDT
Tired of repetitive coding for tasks such as generating web site breadcrumbs? PHP 5 provides a number of interesting ways to reuse your code so you can let the boring stuff take care of itself. This eight-part series will show you how to create helpers to take care of repetitive tasks and free up your precious coding time for the real challenges.
- When it comes to speeding up the development of web applications, experienced PHP programmers tend to be rather lazy, and I'm not using that adjective with a negative connotation. Popular concepts like don't reinvent the wheel and DRY (short for don't repeat yourself ) help developers avoid cr...
-
Posted: July 16th, 2009, 7:00am MDT
Device simulators help developers by letting them get as close as possible to running their applications on the real thing. Fortunately, there are some very good BlackBerry simulators available, which can save developers a great deal of time when creating applications.
- It could be said that historically BlackBerry has always been a messaging platform. The first versions of RIM smartphone devices were little more than glorified pagers. Today, of course, BlackBerry smartphones are a one-stop-shop for productivity, acting as an integrated telephone, text, e-mail, and...
-
Posted: July 15th, 2009, 7:00am MDT
You've probably built custom functions and libraries to validate user input in PHP 5. There's an easier way to do this, and it can save you considerable time and effort. It involves using PHP 5's own built-in and often-neglected filters. This nine-part series will introduce you to their use.
- Definitely, one of the most common tasks that PHP programmers have to tackle during the development of web applications is validating user-supplied data. This fact brings up a crucial and mandatory rule: the client side is always non-trusted terrain with little or no control. Consequently, any data ...
-
Posted: July 14th, 2009, 7:00am MDT
It seems as if everyone uses a BlackBerry these days. But not everyone organizes their information in quite the same way. If you're going to build the programs that help people stay organized with BlackBerry devices, you need to understand the kinds of data types that users acquire, organize, and use to get through the day.
- Its safe to say that BlackBerry devices have become such a necessity for many people because as a society, we need them to help keep track of our lives. Were busier than ever before and that doesnt just apply to those in the business world. Its no longer unusual to see a stay-at-home mom or dad with...
-
Posted: July 13th, 2009, 7:00am MDT
You are planning to develop a PHP web application that needs a MySQL database. Now what? You need to design your MySQL database first. Need a little help? Keep reading.
- Most developers do not have a design background regarding MySQL, so when they create their database, it's inefficient, buggy and unreliable.
By properly setting up the correct specifications for your MySQL database, your web application will be efficient and reliable, since it meets industry stand...
-
Posted: July 9th, 2009, 7:00am MDT
A lot of people are stuck in a rut, a complete web browsing rut. You use the same browser over and over again in the same old ways. It is a shame if you are one of those people. You are only cheating yourself out of the rich variety that the web has to offer you. It's time to explore the many other browser flavors out there. This article will give you a taste.
- What are some of the advantages to checking out a non mainstream web browser?
First, you will get to see your favorite web sites, or any sites that you happen to own, in a whole new way. If you've only ever viewed pages through one browser, then you may not know that different rendering engines wil...
-
Posted: July 8th, 2009, 9:33am MDT
Dell, looking to further it's $15 billion dollar business to the public sector, announces it will offer a Digital Forensics Service based on specific computer hardware and software. Looks like Michael Dell is ready to film CSI: Texas with their new Forensics unit.
- Dell's Forensics Service, based on a partnership with Intel, provides police with a helpful set of tools to help analyze crime scenes, gather more specific evidence and track data in a self-hosted environment. With this set of forensic tools, Dell hopes to help police use computer technology to ga...
-
Posted: July 8th, 2009, 7:00am MDT
JavaScript is an online scripting language that is implemented and works directly with HTML pages. Similar to Flash and ActionScript, JavaScript brings a dynamic nature to web pages that does not require the page to change. Obviously, this functionality is very useful for a wide variety of reasons. JavaScript can make a developers life a lot easier in a lot of ways. On the other hand, the various down sides of implementing JavaScript are significant sometimes too much so.
- Any time that a developer would like to change the content of a web page without actually changing the page, JavaScript is a natural option. Flash and ActionScript is basically the only other option. A developer may decide to use JavaScript for a variety of reasons, many of which include the various...
-
Posted: July 7th, 2009, 7:00am MDT
The List Control is a fundamental control for use in Flex. It can be used in many different situations and can display all types of data. Anything from images to plain text and even basic HTML (supported by Flex) can be used. Keep reading for an introduction to this versatile control.
- Creating a Basic List with XML Data
Whether you're developing large scale applications or just quick tools, you'll more than likely need to use a list when developing your applications. In this article, I cover the creation of a basic List Control with data population via XMLList. In my next articl...
-
Posted: July 6th, 2009, 7:00am MDT
Doing PHP queries to a MySQL database is one of the most important processes in any web application. This is where data is being fetched from or inserted into the database. If you are a beginning PHP web developer, then learning the most important MySQL queries is essential to your success in dealing with dynamic websites.
- You can see dynamic websites almost everywhere on the net. Popular software packages, whether for blogging (like WordPress or Drupal) or e-commerce (such as osCommerce) are configured to be dynamic in nature. Dynamic websites rely on MySQL databases to fetch and insert data coming from and going to ...
-
Posted: July 2nd, 2009, 9:48pm MDT
An amazing breakthrough in artificial intelligence by MilePost GCC allows development to speed up 10x by employing learning techniques to become the first intelligent, open-source compiler.
- SmarterTechnology reports that the Milepost project at www.milepost.eu, in conjunction with IBM Research, has developed an intelligent, open-source compiler that essentially uses collaborative development as it's source to produce compiled code 10x faster.
Yes, your compiler has joined the BORG, bu...
-
Posted: July 2nd, 2009, 7:00am MDT
Welcome to the final part of an eight-part series on building loader applications in PHP. In this part, we'll improve on the loader class we developed in the previous part by using certain specific functions from the Standard PHP Library (SPL).
- Among the bunch of useful features that were incorporated into PHP 5 a long time ago, aside from the improved object model, there's also a set of functions and classes that comprise what's commonly called the Standard PHP Library (SPL).
As you may have heard, this library permits you to perform sev...
-
Posted: July 1st, 2009, 7:00am MDT
Welcome to the seventh installment of an eight-part series on building loader applications in PHP. In this part, you will learn how to use the spl_autoload(), spl_register() and spl_register() functions to build a small file loader class. This class will be able to perform recursive searches through the file system to find a targeted resource.
- As the passionate PHP developer that you probably are, you know that building file loading scripts is mostly a process that relies on the set of include()/include_once() and require()/require_once() functions, which youve surely used hundreds of times before.
Nevertheless, its feasible to creat...
-
Posted: June 30th, 2009, 7:00am MDT
Flex 3.0 offers a strong foundation of user interface (UI) controls by which users can harness a great deal of power to create beautiful UIs without having to toil in the details of low level functionality. Of these controls, the DataGrid sets itself apart by offering characteristics similar to a list or tree control (which are also listBase controls), but going further to offer an easy way of displaying columnar data without a complicated interface. In this article, I focus on creating a basic DataGrid and populating it with XML data by using only MXML tags.
- Creating a Basic Data Grid
Flex provides an
MXML tag to create a DataGrid. Here is our application, with the DataGrid colored in blue:
lt;?xml version= quot;1.0 quot; encoding= quot;utf-8 quot;? gt;
lt;mx:Application xmlns:mx= quot
[www.adobe.com] quot; layout= quot;absolu...
-
Posted: June 29th, 2009, 7:00am MDT
You can find Flash almost everywhere on the web, adding its magic touch to web sites. ActionScript makes it work. If you're thinking of making your web site a little more flashy, keep reading for an overview.
- Flash has become one of the most recognizable technologies used on the Internet today. There is good reason that this individual developers tool is so well-known; websites designed with Flash have a tendency to stand out and simply look much better than those that do not feature it. Flash websites a...
-
Posted: June 25th, 2009, 7:00am MDT
Welcome to the fifth part of an eight-part article series that teaches you how to build loader applications with PHP. In this installment of the series, I explain how to create a small, efficient file loader class, with a difference: no instance of it needs to be spawned to include a targeted file, thanks to the implementation of a static recursive loading method.
- Building small programs with PHP that can load a specified file or resource is an easily-tackled process for many developers with only average experience in the language. However, things can get more complex when trying to add some useful characteristics to these programs, such as recursive file...
-
Posted: June 24th, 2009, 7:00am MDT
Welcome to the sixth part of an eight-part series that shows you how to build file loader applications in PHP. In this part I will discuss how to build a helpful file loading application by taking advantage of the nifty __autoload() magic function.
- There are a number of tasks that PHP developers must tackle on a regular basis when building well-structured web applications. One of these is creating scripts that load a certain number of resources and dependencies required for those applications to work as expected.
While developing these fil...
-
Posted: June 23rd, 2009, 7:00am MDT
Welcome to the sixth part of a seven-part series that shows you how to use the magic functions that come with PHP 5. In this article, I cover the __destruct() method, also known as a destructor. They can be really useful for performing all sorts of clean-up tasks, or for creating objects that are capable of maintaining their state across several HTTP requests.
- To be frank, learning how to implement and use the magic functions that come included with PHP 5 isnt as hard as it may seem at first glance. The entire process requires knowing which event triggers a particular function, and then giving that function a concrete definition in accordance with the ...
-
Posted: June 22nd, 2009, 7:00am MDT
Among the improvements and new features that were introduced to PHP 5, theres a set of special functions, popularly known as magic functions. These allow you to perform all sorts of smart tasks, ranging from overloading properties and methods in classes, to using destructors and triggering automatically predefined processes when serializing and unserializing objects. This is the conclusion to a seven-part series that shows you how to use the magic functions in PHP 5.
- So, if youre a PHP developer who wants to learn how to put these magic functions to work for you in a truly effortless way, or wishes to fill some gaps in your knowledge regarding their correct implementation and usage, then this group of tutorials might be the guide that youre looking for.
And now...
-
Posted: June 18th, 2009, 7:00am MDT
Welcome to the third part of an eight-part series on building loader applications in PHP. In the tutorials that comprise this series youll find numerous examples aimed at demonstrating how to create small, yet efficient, resource loader classes, not only by taking advantage of PHP includes, but the handy __autoload() magic function and the Standard PHP Library (SPL) as well.
- Developing PHP programs whose main task is to dynamically include files required by a specific application isnt as difficult as it may seem at first sight. In these cases, the logic that drives those programs is implemented around the set of include()/include_once()/require()/require_once() nati...
-
Posted: June 17th, 2009, 7:00am MDT
As a developer, you will find that creating applications for the BlackBerry smart phone device is not only fun and exciting, but relatively easy as well. That being said, sometimes the apps you create will not behave, or perform, the way youd like them to. Keep reading for the solution.
- It is because of this fact that learning how to debug your applications is such an essential and crucial part of the development process. Here we will cover the best way that a developer can debug their app and eliminate any frustrating problems from the get-go.
Essentially, debugging means findi...
-
Posted: June 16th, 2009, 7:00am MDT
Magic functions are an important part of the numerous improvements and additions that were introduced originally in PHP 5. They can be extremely handy when it comes to simplifying the execution of complex tasks. This is the fourth part of a seven-part series that showcases some of the more useful magic functions and how to implement them.
- Ranging from overloading properties and methods of a class, including automatically overloading classes and triggering specific processes before destroying objects, magic functions can be used for doing all sorts of clever things. Some of these have been rather overlooked by many developers, quite...
-
Posted: June 15th, 2009, 7:00am MDT
If youre an eager PHP developer who wants to have at your disposal a quick guide that shows you how to work with the most relevant magic functions provided by PHP 5, then this series of articles might be what youre looking for. In this fifth part of a seven-part tutorial on magic functions, we'll briefly review the sleep and wakeup functions, and then tackle the clone function.
- Undoubtedly, the release of PHP 5 quite some time ago brought with it a significant advance in the way that web applications are developed nowadays. This is despite the high level of backward compatibility it maintains with its venerable predecessor, PHP 4.
Certainly its not breaking news that P...
-
Posted: June 12th, 2009, 1:57pm MDT
eWeek recently wrote an article that showed the top 10 programming languages developers should consider focusing on over the next few years. According to Deborah Rothberg, by learning these programming languages, you can not only keep but advance your career.
- Topping the list of eWeek's top 10 programming languages were four open-source languages, and only 2 our of the 10 were Microsoft based languages (C# and VB.Net, specifically). Rothberg gives some depth to the article as well, explaining in brief why each language was chosen and showing the number...
-
Posted: June 11th, 2009, 7:00am MDT
Welcome to the fourth chapter of the series that shows you how to build loader applications with PHP. Made up of seven parts, this series uses a variety of code samples to teach you how to create modular programs. These programs are capable of recursively including files required by a given application, without having to explicitly call any include()/include_once() or require()/require_once() PHP function.
- And now that youve been introduced to the main goal of this series, its time to summarize the topics that were discussed in the last tutorial. In the previous part I went through the development of a file loading class in PHP 5. This class was capable of searching recursively for a determined fil...
-
Posted: June 10th, 2009, 7:00am MDT
BlackBerries, on more than once occasion, have been called the phones of the future. In a world where multi-tasking has become a necessary life skill, that factoid should come as no surprise. People need their phones to be as multi-functional as possible, and a phone that simply makes phone calls is a thing of the past. Thanks to BlackBerry, a smartphone has become a necessary tool in the development and general maintenance of both small businesses and major corporations. This is where BlackBerry developers come into play. Whether it is your intention to leverage the standards-based BlackBerry platform and developer tools to create applications that are just right for your organization or youre looking to branch out and create solutions for other companies, there are a few things you should know before you begin to seriously consider becoming a BlackBerry developer.
- Research in Motion (RIM), which is a leading designer, manufacturer, and marketer of innovative wireless solutions for the worldwide mobile communications market, also happens to be the company responsible for BlackBerry. The BlackBerry Curve is currently America's best-selling smartphone, and becau...
-
Posted: June 9th, 2009, 7:00am MDT
When youre first starting off as a BlackBerry developer youve got quite a few decisions to make. One of the most pressing will probably be which application programming interface -- or API -- you choose. Simply put, an API is a set of routines, data structures, object classes, and/or protocols that are provided by libraries or operating system services. So much importance is placed on choosing the right API because essentially, it will serve as your foundation and it will support the building of all of your BlackBerry applications. Lets find out more about APIs and find out the specifics on both the RIM and JAVA ME API.
- How APIs Work
An API can either be language dependent or language independent. In order to make the API as convenient as possible, language dependent APIs are only available in a particular programming language and only use specific syntax and elements of the programming language. Language independ...
-
Posted: June 8th, 2009, 1:00pm MDT
If you consider yourself to be an avid BlackBerry developer, youre probably in search of some advanced tips that will put you ahead of the game. Well, youve come to the right place. Here we will discuss more of the advanced features that have become available thanks to BlackBerrys new Push technology.
- A push application is specifically designed to both enhance and simplify the distribution of corporate data to its many mobile employees. The beauty of this development is the fact that users do not have to request the data they receive; it simply gets sent to them as soon as it becomes available.
...
-
Posted: June 8th, 2009, 1:00pm MDT
BlackBerrys new Push API is obviously worth trying out. Aside from enabling developers to create better, more efficient apps, it also comes equipped with a wide array of thoughtful features that benefit everyone from investors, to users and developers. Keep reading for a close look.
- API in Review
As some may already know, an Application Programming Interface (API) can either be language dependent or language independent . Language dependent APIs are only available in a particular programming language and only use specific syntax and elements of the programming language. Langua...
-
Posted: June 8th, 2009, 7:00am MDT
If youre a PHP developer who wishes to learn how to implement and use the set of magic functions that come included with PHP 5, youve come to the right place. Welcome to the third part of a series that takes a close look at magic functions in PHP 5. Made up of seven tutorials, this series teaches you how to work with the most common PHP 5 magic functions, putting particular emphasis on their usage within the context of object-oriented applications.
- And now that you know what to expect from this group of articles, it's time to quickly review the topics that were discussed in the last one. In that installment of the series I explained by means of some examples how to work with the complementary quot;__isset() quot; and quot;__unset() quot; m...
-
Posted: June 4th, 2009, 7:00am MDT
Spam is one of the biggest problems on the Internet. It is getting harder to fight with the advent of spam bots that visit websites and automatically fetch email addresses, fill out forms and do other nasty things, such as blog spam comments, that could degrade your integrity. Fortunately, using captcha can help. This article will show you how to implement captcha on your site.
- Spam is a really serious problem. If you fail to correct this issue with your website or blog, spammers and possibly malicious hackers will take over your domain. The following things can happen:
If spam is uncontrolled, it can hurt the good visitors to your site. A classic example of this is...
-
Posted: June 3rd, 2009, 7:00am MDT
If youre a PHP developer who has already worked with popular third-party frameworks like Kohana and CodeIgniter, or even better, have created one all by yourself, then you're familiar with building file loading applications. The process can be tackled pretty easily, either by using a procedural approach or the object-oriented paradigm. In this eight-part series, we take a close look at building file-loading applications. This second part of the series will focus on static methods.
- As its name suggests, a file loading program (or a resource loading program, to express the concept more accurately), is simply a PHP module that takes care of including, usually via its set of include()/require() native functions, files that are required by an application to make it work as expect...
-
Posted: June 2nd, 2009, 7:00am MDT
Welcome to the second part of a seven-part series on the magic functions in PHP 5. In the previous article, we looked at property overloading with the get and set functions. In this one, we'll take a look at the same task using the isset and unset magic functions.
- As you may have heard, PHP 5 comes packaged with a set of unimplemented functions that are popularly known as magic functions or magic methods. These are called internally by the PHP engine when performing a number of tasks, such as including classes that havent been found at runtime, when attem...
-
Posted: June 1st, 2009, 7:00am MDT
PHP form input validation is what separates amateur and professional PHP developers. A professional PHP developer validates data for both security and correctness of the data entered. Keep reading to learn how to validate user input to your forms.
- Web form processing is one of the most important tasks any website can do to process customer-related information. PHP server side scripting offers a variety of solutions for accepting and processing data inputs from any web form.
However, a lot of website forms do not have input validation. quot...
-
Posted: May 28th, 2009, 7:00am MDT
When trying to maintain a secure protocol on an Apache-based website, you can expect to deal with certain issues, especially if you're also trying to rank well in the search engines. This article provides you with some solutions for two of the more difficult problems: duplicate content and 301 redirects.
- The secure protocol
[https:] is highly important for security, particularly for commercial websites. If you are a beginner with Internet technology you may have met the two most common protocols used by Internet browsers. They are:
HTTP (Hypertext Transfer Protocol) is the used
protocol for go...
-
Posted: May 27th, 2009, 5:20pm MDT
Those interested in becoming a BlackBerry developer, its of the utmost importance that you get to know the BlackBerry browser like the back of your hand. The good news is that the architecture for BlackBerry browser applications is quite simplistic and straightforward. Essentially, the BlackBerry browser is a Java ME application and according to BlackBerry, this particular application has been a part of the companys technology for almost ten years.
-
Of course its only natural that the smartphones themselves have greatly improved over time and have been equipped with extra features like GPS and cameras. In terms of the browser- at its core, it is the same, but its important to point out that the browsers features have been given a face-lift....
-
Posted: May 27th, 2009, 4:55pm MDT
It seems as if the smartphone revolution is upon us. Gone are the days where cell phones were simply used to make calls. Now, they can plan your life, allow you to stay in touch with loved ones, ensure that youre always connected to all things work-related (which may or may not be a good thing), and give us directions to the nearest Thai restaurant, among other tasks. The leader of the smartphone pack can officially be declared the BlackBerry, which is well known for its addictive quality.
- It was recently reported that the BlackBerry Curve is outselling the iPhone, which is an incredibly difficult task when you consider the number of Apple fanatics in existence and the wild popularity the iPhone has experienced since its release in June of 2007.
The BlackBerry obviously comes equip...
-
Posted: May 27th, 2009, 7:00am MDT
Loading sources on the fly is one of the most common tasks that PHP programmers have to tackle during the development of web applications. This typical situation must be faced independently of the scale of the programs being created. This means a loader mechanism must be developed. Keep reading as we take a close look at these mechanisms in this eight-part article series.
- Ranging from loading configuration and generic data files, to including classes when using an object-oriented approach, one thing is certain: sooner or later, some kind of effective loader mechanism must be implemented to gather the dependencies required for a particular application.
Of course, wh...
-
Posted: May 26th, 2009, 7:00am MDT
Its not breaking news that the release of PHP 5 drastically changed the way that many developers build their web-based programs. The incorporation of a much more robust object model, along with the introduction of native exceptions, type hinting and so forth (add your own improvement to the list) has given the language the maturity that we see in it today. This seven-part article series will explain an important new feature: magic functions.
- Among the new features introduced in PHP 5, magic functions are an important part of the whole enhancement process. They've also been rather overlooked by some programmers, either because of laziness or ignorance.
Despite their funny name, magic functions permit users to perform difficult tasks...
-
Posted: May 21st, 2009, 7:00am MDT
If you use osCommerce for your site's e-commerce, and you're not happy with the quality or quantity of visitors your site receives, keep reading. Though osCommerce provides some excellent features, its weaknesses could be getting in the way of giving you the number of visitors and conversions you expect. Fortunately, there's a solution, hidden in something as simple as a title tag.
- osCommerce is the most popular online e-commerce solution. The primary reason for this popularity is its nature as open source software; it can be used for almost no cost compared to other online e-commerce software.
osCommerce runs on PHP and MySQL, again an open source solution. Despite its popu...
-
Posted: May 20th, 2009, 7:00am MDT
In programming, data manipulation is an everyday task. Programmers must be able to take raw data and perform some operation, or a set of operations, on that data to modify it. However, presenting data is also very important, both in programming and in other tasks. This article will cover one of the ways you can present data in Perl
- One way of presenting data is in a chart. There are a variety of chart types, each of which has its particular strength. Perl, not surprisingly, offers a wealth of modules for creating charts to present data. In this article, we'll examine a collection of modules, appropriately named Chart, that all...
-
Posted: May 19th, 2009, 7:00am MDT
In the last article, we took a look at command line options and how we could read them in Perl using the Getopt::Std module. For many simple applications, that article covers all that you need to make use of command line options. When you need more command line options, you can make use of the Getopt::Long module, which is the subject of this article.
- The Getopt::Std module allows you to read and respond to short options, that can either take values or function as boolean values. The module even aids in the creation of help and version information, taking much of the work out of things.
However, sometimes you'll need to support a large number of...
-
Posted: May 18th, 2009, 7:00am MDT
Unlike command line arguments, command line options can sometimes be a bit difficult to read; nevertheless, they can prove to be quite useful. This article explains what a command line option is, why you would use one, and how to process them in Perl. This article is the first of two parts.
- Command line arguments play a significant role in the creation of command line programs in any language. These arguments can tell the program a number of things, such as what to operate on, or how to operate on something. Perl, like most other languages, makes it very easy to read these arguments.
...
-
Posted: May 14th, 2009, 7:00am MDT
There are a number of ways you can retrieve information from the web. You can access it directly via a browser, or you can write a script that gets the information for you and delivers it in a form you can use. The LWP library for Perl can help you with the latter. Keep reading for a closer look.
- The Web is a wonderful resource. It contains a wealth of information about nearly every conceivable topic, and in order to access much of that information, you only need a Web browser, of which there are several to choose from. For example, if I need to check the weather before I head outside to fig...
-
Posted: May 13th, 2009, 7:00am MDT
When it comes to building hierarchical menus that will be used as part of web-based navigational interfaces, one of the best solutions available today is a powerful jQuery plug-in called TreeView. This package comes with a number of handy options that allow you to create collapsible trees very quickly by using only a few simple nested HTML lists. This is the conclusion to a six-part series that uses numerous code samples to show you how to master the main features provided by the TreeView library.
- Naturally, if you've read the previous installment of this series, it's quite possible that you already have a clear idea of how to utilize the great variety of options offered by this plug-in to create truly dynamic hierarchical trees. In that specific article, I explained how to use the persis...
-
Posted: May 12th, 2009, 7:00am MDT
Welcome to the fifth episode of a series covering how to build a hierarchical navigation system with the TreeView jQuery plug-in. Comprised of six parts, this series walks you through mastering the main features provided by this plug-in.
- Among the huge variety of plug-ins that are currently available to use with the jQuery JavaScript library, there's one that may be particularly appealing to many web designers wanting to include hierarchical menus into their web sites very quickly. Of course, in this case I'm talking about the Tre...
-
Posted: May 11th, 2009, 7:00am MDT
The TreeView jQuery plug-in is a small yet powerful JavaScript application that allows you to build hierarchical navigation systems whose branches can be collapsed and expanded using different animation effects. So if youre planning to develop a web site that includes a navigation mechanism like this, start reading this series of articles. In it youll find a concise guide that will show you how to master the plug-ins main features, by means of copious hands-on examples. This article is the fourth of six parts.
- Naturally, if you've been a patient reader and already went through the previous chapter of the series, then it's quite possible that you're pretty familiar with the basic capabilities offered by the TreeView library. In that particular tutorial I explained how to work with its animate option,...
-
Posted: May 7th, 2009, 7:00am MDT
The link rel canonical tag lets you solve canonical issues for your URL without having to resort to 301 redirects or other potentially complicated approaches. This article explains how to take advantage of the tag in your PHP-powered web sites.
- Background
Any website URL is accessible by either its www or non-www version. For example, if you have a website www.somewebsite.com, people can access it in the browser in two ways:
By typing your canonical www version of the URL into their browser:
[www.somewebsite.com]
By typing the ...
-
Posted: May 6th, 2009, 7:00am MDT
JavaScript-based event delegation is an efficient approach that allows us to reduce the number of event handlers included in a client-side application. This naturally contributes to improving its overall performance and reliability. This technique rests its functionality on the bubbling phase triggered by a specific event. Its very simple to learn to code in real-world conditions. This article concludes a four-part series on event delegation.
- Therefore, if youre a web designer whos interested in mastering the key concepts that surround event delegation in JavaScript, this set of articles contains numerous hands-on examples that will get you started using this approach within your own client-side applications.
And speaking of pract...
-
Posted: May 5th, 2009, 7:00am MDT
Sorting search results by post title in WordPress is often useful, if your website needs its entries to be sorted alphabetically. As a quick background, WordPress is the most popular open source, free blogging/CMS platform. However, the default search results are sorted by date, so there is no easy way to sort them alphabetically except to edit the core WordPress search functionally source code.
- There are a number of applications for which it would be useful to sort post titles alphabetically. For example, say you use WordPress for a social networking site. With that kind of site, people stop by and register their names. As a result, users need to be able to search for names in the WordPres...
-
Posted: May 4th, 2009, 7:00am MDT
Welcome to the third chapter of a series on creating a hierarchical navigation system with the TreeView jQuery plug-in. Made up of six tutorials, this series explores in detail the main features that come packaged with this helpful JavaScript extension. It shows you how to get the most out of it with copious code samples.
- If you're planning to develop a web site or an application that provides users with the ability to move across different sections of it with a hierarchical navigation system, then you might want to take a look at the TreeView jQuery plug-in. This JavaScript library will let you build a system li...
-
Posted: April 30th, 2009, 7:00am MDT
Welcome to the conclusion of a seven-part series on handling views with the Code Igniter PHP framework. If you're learning how to use the Model-View-Controller schema, this series of articles can help you get a better grasp of how to use it to quickly and dynamically generate web pages. In this part, we will finish building the database-driven application we discussed in the previous part.
- Introduction
The intrinsic flexibility offered by the CodeIgniter framework gives PHP developers the ability to handle views in several clever ways. This feature allows you to easily generate dynamic sections of web pages. From loading views sequentially and using layout views, to nesting them w...
-
Posted: April 29th, 2009, 7:00am MDT
Do you enjoy the responsiveness that using event handlers in JavaScript adds to your web site, but feel concerned about the way they can slow down your applications? Fear not; this four-part article series covers event delegation, a technique that can solve this problem in certain situations. This article is the third part of the series.
- Event handlers play a fundamental role within any JavaScript application, since they keep track of mouse clicks, keyboard and window events, and so forth. Logically, their existence permits us to develop client-side programs that are much more responsive than an application running in the web serve...
-
Posted: April 28th, 2009, 7:00am MDT
PHP and MySQL form a powerful combination of open source technology available to any web developer. One of the increasing trends in modern web development is the generation of online contracts. E-commerce websites selling services online need automated contract generation for faster delivery of services. This article will help you learn to use this technology so you can get it working on your web site.
- One of the most common applications is issuing licenses online. In the real world, licenses are issued on paper and signed by both parties. In the online world, this can be done efficiently with an online contract which can be traced by issuing a contract number. Contract numbers are the best wa...
-
Posted: April 27th, 2009, 7:00am MDT
If youre interested in mastering the main features that come bundled with the TreeView jQuery plug-in, start reading this series of articles. In it youll find numerous examples that will teach you how to utilize this library to build all sorts of professional-looking navigation trees. This is the second part of a four-part series.
- Building a web-based hierarchical navigation mechanism that permits you to collapse and expand its branches with simple mouse clicks can be challenging even for the most seasoned web designer, especially when developing such an application from scratch. However, theres no need to go to that ex...
-
Posted: April 23rd, 2009, 7:00am MDT
Welcome to the sixth installment of a seven-part series on handling views with the CodeIgniter PHP framework. This series shows you a few handy approaches that you can implement quickly within your CI-based programs to work with view files in a truly clever way, ranging from loading them sequentially to nesting views within other views.
- And now that youre aware of the topics that are covered in this group of articles, its time to review the concepts discussed in the last tutorial. In that part, I used a practical example to show you how to partially remove presentation logic from a particular view file, and implement it within...
-
Posted: April 22nd, 2009, 7:00am MDT
Expressed in simple terms, JavaScript event delegation is a smart approach that permits you to reduce the number of event handlers assigned to the elements of a web page by using the bubbling phase of a specific event. With this easy-to-learn technique you can significantly improve the performance of JavaScript applications. This is the second article in a four-part series.
- Therefore, if youre interested in learning how to implement event delegation within your own JavaScript programs, then in this group of articles youll find an approachable guide that will help you to master the key concepts that drive this powerful approach, with numerous code samples.
Now that y...
-
Posted: April 21st, 2009, 7:00am MDT
Early Monday morning, tech giant Oracle Corp announced it will be purchasing Sun Microsystems inc. in an all cash deal to the tune of $7.4 billion. The news falls on the heels of IBM opting out of its bid to purchase the networking company.
- IBM was in talks to buy Sun, but after seeing the offering price, Sun cancelled IBMs exclusivity rights; this led IBM to withdraw its bid, opening the door for Oracle to step in. Oracle representatives say the deal will be completed early this summer.
But what does this mean in terms of the futur...
-
Posted: April 20th, 2009, 7:00am MDT
Are you interested in adding animation effects to the drop-down menus on your web page, but afraid that it's going to take long hours of painful coding to pull it off? Keep reading. This series of articles will show you how to work some easy magic with the Treeview JQuery plug-in and a simple nested HTML list.
- As you may have noticed, hierarchical navigation systems are a common part of many web-based front-ends these days. Undeniably, the most typical implementation of these systems is via drop-down menus, which may contain different subcategories that users can navigate easily.
In reality, web sites t...
-
Posted: April 16th, 2009, 7:00am MDT
Manipulating views with CodeIgniter is a straightforward process. In a typical situation, theres a model that fetches some rows from one or more database tables, and a view file that receives this data through a controller class, which is finally displayed on screen, generally in the form of an HTML page. However, CodeIgniter gives PHP programmers enough freedom to handle views in several useful ways, which can speed up the development of web applications. Therefore, if youre taking your first steps with CI and wish to learn some handy approaches that will help you work with views in a truly painless fashion, then start reading this tutorial now!
- Introduction
At this point, after having introduced you to the subject of this series of articles, its time to recall the topics we discussed in the last tutorial, in case you still havent had the chance to read it. In summary, in that article I proceed to build a simple MySQL-driven application...
-
Posted: April 15th, 2009, 7:00am MDT
Anyone who has spent a long time building JavaScript applications knows how important event handlers can be for processing certain common user actions, such as mouse clicks, windows and keyboard events, and so forth. However, while event handlers are a powerful feature for creating highly responsive JavaScript programs with relative ease, they have been overused way too frequently. This has implications for how quickly certain kinds of JavaScript programs run. Fortunately, JavaScript event delegation can help solve many of these problems. This four-part series explains how.
- Many web designers now implement event handlers more carefully, and resist the temptation to fire up functions and classes each time users click on different elements across a web page.
Regardless of this promising scenario, its common to see JavaScript programs that use event handlers in a poo...
-
Posted: April 14th, 2009, 7:00am MDT
The active record pattern allows you to access records in a database by means of a unified interface, generally composed of a few data mapper objects. However, as with other popular design patterns, there are several methodologies for implementing it within an object-oriented application, all of which can be used to obtain similar results. In this group of articles, I demonstrate how to progressively build a MySQL abstraction class that uses the active record approach for performing CRUD operations (Create, Retrieve, Update, Delete) on the records of a selected database table.
- Introduction
Naturally, if you've read the six preceding articles (this is the seventh and concluding part) then by now you're pretty familiar with creating a class like this. In those articles I explained how to develop a sample MySQL-accessing class that was capable of inserting, updating and ...
-
Posted: April 13th, 2009, 7:00am MDT
The Yahoo! User Interface library continues to grow and expand with new components being added and existing components being continually patched and updated to ensure full x-browser support and cutting-edge functionality. Version 3 of the YUI is due for full release at some point this year, but version 2 (current release 2.6) is at this point still the stable and recommended release for general use.
- One of the components recently added is the Carousel component, a control for automatically scrolling content in an attractive and intuitive interface. Its still a beta release at present ,which indicates that the API is not finalized and that there are likely to be bugs that need addressing. We can...
-
Posted: April 9th, 2009, 7:00am MDT
When it comes to generating both static and dynamic web pages, CodeIgniter gives PHP developers the liberty of working with different approaches that can be easily adapted to suit the requirements of a huge variety of web applications. Building web pages using CI demands that you always deal with one or multiple views, generally represented in the form of HTML files that contain embedded PHP variables. Therefore, if youre a CI user who want to learn to manipulate views in some clever ways, keep reading. In this series of articles, youll find a comprehensive guide to several methods you can implement within your own CI-based applications to handle view files in a truly efficient manner.
- Introduction
Now that you know what to expect from this article series, its time to recapitulate briefly the topics that were discussed in the last installment. In that particular tutorial I demonstrated how to build a simple MySQL-driven application by using a combination of the $this- gt;load...
-
Posted: April 8th, 2009, 7:00am MDT
From a web developers point of view, building a mechanism that permits you to protect online forms against attacks by spam bots, malicious automated submissions, and so forth, can be challenging. Developing such an application often requires using a server-side graphic library to generate the so-called noisy images. However, its possible to quickly create a similar mechanism with Ajax, without having to work directly with images generated in the web server. This is the fourth part of a four-part series that explains how to do just that.
- Introduction
Therefore, if youre interested in learning how to build a basic Ajax-driven program that makes your web forms a bit more secure, then in this group of articles youll have at your disposal a comprehensive guide on how to achieve this with minor efforts. Additionally, youll learn how ...
-
Posted: April 7th, 2009, 7:00am MDT
In this group of articles youll be provided with an approachable guide to building a database accessing class that will use the programming model imposed by the active record pattern for performing raw CRUD operations on a group of selected MySQL tables, and for fetching database records by using the WHERE, LIKE and LIMIT clauses as well. This is the sixth part of a seven-part series.
- Introduction
When it comes to implementing the active record design pattern with PHP, in most cases data mapper objects are used to interact with a certain number of databases. Generally, these objects act like a single, unified interface that can be used to perform CRUD tasks (Create, Retrieve, ...
-
Posted: April 6th, 2009, 7:00am MDT
When it comes to building full-blown web-based interfaces, Ext JS is quite possibly one of the most powerful libraries available nowadays. It's equipped with an impressive set of JavaScript classes that allow you to create all sorts of clever things, ranging from simple yet professional message windows, to desktop-like data grids and shadowed drop-down menus. This third part of a three-part series covers just one of its features, which lets you give interesting abilities to containers.
- Introduction
Among the dynamic modules that comprise the Ext JS framework, there's one that might be particularly interesting to you. It presents an easy learning curve and can be used for extending the behavior of server-side applications. In this case, I'm talking about its Resizable class...
-
Posted: April 2nd, 2009, 7:00am MDT
One of the most common tasks that a PHP programmer has to perform when developing web applications with CodeIgniter is loading a bunch of views to generate different sections of a web document. As with many other features provided by this framework, there are several ways to work with view files. This seven-part article series shows you many different ways to handle views. In this third part, we'll focus on nested views and other methods.
- Introduction
As I mentioned, there are several ways to work with view files with the CI framework, ranging from loading them sequentially and using the $this- gt;load()- gt;vars() method, to including views within other views.
Of course, its also possible to combine all of these approaches to bu...
-
Posted: April 1st, 2009, 7:00am MDT
If youre a web developer who builds Ajax-driven applications and wants to learn how to use this technology for creating more secure web forms, then look no further. Welcome to the third part of a series focused on making web forms safer with Ajax. Made up of four comprehensive tutorials, this series explains how to generate different types of challenge strings via Ajax, which can be incorporated into any existing HTML form with the purpose of protecting it against attacks.
- Introduction
Now that you've been introduced to the main subject of this series of articles, it's time to recall the topics we discussed in the last article. In that tutorial I went through the development of a simple Ajax-based application that could dynamically generate a bunch of elementary ...
-
Posted: March 31st, 2009, 7:00am MDT
Welcome to the fifth installment of a series focused on using the active record pattern with PHP. Made up of seven episodes, this series walks you through the progressive development of a MySQL abstraction class that utilizes the active record approach to perform CRUD (Create, Remove, Update, Delete) database operations and SELECT queries, without having to explicitly code any SQL statements.
- Introduction
Now that you've been introduced to the main subject of this group of articles, it's time to recall the topics that were covered in the last one. In that specific tutorial I explained how to build a basic MySQL abstraction class, which was capable of performing the CRUD tasks mentioned...
-
Posted: March 30th, 2009, 7:00am MDT
As a web designer, you know that building resizable divs for a web site can be a pretty challenging task, particularly if youre planning to do this from scratch. Theres no need to reinvent the wheel, though, since there are a few handy JavaScript frameworks available nowadays, such as Ext JS and jQuery, that allow you to create this class of dynamic containers in a truly painless fashion. So if youre interested in learning how to incorporate dynamic resizing capabilities into certain containers on your web site using the Ext JS package, then this series of articles might be what youre looking for.
- Welcome to the second part of a series focused on building resizable containers with the Ext JS library. Made up of four approachable tutorials, this series teaches you with numerous code samples how to create containing elements that can be completely resized and dragged across a web page.
T...
-
Posted: March 26th, 2009, 7:00am MDT
Welcome to the second installment of a series that shows you how to handle views with CodeIgniter. Made up of seven parts, this series explains different methods that you may use for loading view files within your CI-based web applications, ranging from working with a simple sequential approach, to including views within other views. This part will show you how to improve your web page's appearance with CSS.
- Introduction
If you've had the chance to work with CodeIgniter, then you know that it is a robust framework with many useful features that let PHP programmers build web applications very quickly and with minor efforts. Of course it has the ability to manipulate view files in different ways, whi...
-
Posted: March 25th, 2009, 7:00am MDT
As you know, Ajax is a technology that can be used to perform all sorts of clever tasks; this includes building web forms that are less vulnerable to attacks from malicious web bots. Indeed, its pretty simple to develop certain mechanisms that permit the dynamic generation of verification codes via Ajax, which must be entered manually by a user before submitting an HTML form. This is the second part of a four-part series that shows you how to make your web forms safer with Ajax.
- Introduction
Actually, building a web form checking system like this can be an instructive experience, particularly for those web developers whom need to code safer online forms without using a server-side graphic library to generate quot;noisy images quot; on the fly.
So, if you're interested...
-
Posted: March 24th, 2009, 7:00am MDT
In most cases, the implementation of the active record pattern in PHP (and other programming languages too) is carried out through a few data mapper objects, which are used to perform CRUD operations on a group of targeted database tables. This seven-part article series describes the advantages of using the active record pattern in a variety of situations, and shows you how to do it.
- Introduction
While an approach like the one described above permits to reach a high level of SQL abstraction when accessing databases, the truth is that its also possible to apply the active record approach by means of a single database class, which encapsulates within its API all the logic require...
-
Posted: March 23rd, 2009, 7:00am MDT
In this three-part series of articles I will use a hands-on approach to explain how to construct different kinds of resizable divs with the Ext JS library. If you re thinking of implementing resizable containers on your web site you should find this series particularly helpful more than likely it will save you a great deal of time and aggravation....
-
Posted: March 23rd, 2009, 7:00am MDT
In this three-part series of articles I will use a hands-on approach to explain how to construct different kinds of resizable divs with the Ext JS library. If you're thinking of implementing resizable containers on your web site, you should find this series particularly helpful; more than likely it will save you a great deal of time and aggravation.
- Introduction
When it comes to building a maintainable, highly-modular web site, it's necessary to divide it in three well-differentiate layers, which are known popularly as structure, presentation and behavior. Naturally, this trusted approach permits you to easily decouple the modules that comp...
-
Posted: March 19th, 2009, 7:00am MDT
The Code Igniter framework makes it easy for developers to implement a Model-View-Controller design pattern in PHP. This concept can be difficult for newcomers to grasp so this seven-part series of articles will focus on one aspect of it views and the many clever ways you can handle them with Code Igniter. Welcome to the first part....
-
Posted: March 19th, 2009, 7:00am MDT
The Code Igniter framework makes it easy for developers to implement a Model-View-Controller design pattern in PHP. This concept can be difficult for newcomers to grasp, so this seven-part series of articles will focus on one aspect of it: views, and the many clever ways you can handle them with Code Igniter. Welcome to the first part.
- Introduction
Any PHP developer who has spent a few weeks working with the CodeIgniter framework quickly discovers its many virtues. It has a relatively flat learning curve, and clear, thorough online documentation. Moreover, it lets users implement the Model-View-Controller design pattern in a...
-
Posted: March 18th, 2009, 7:00am MDT
Are you looking for a new way to protect your web forms from malicious hackers and spam bots Then you ve come to the right place. In this four-part article series you ll learn how to use Ajax to protect those forms. Keep reading to learn how to build an Ajax-based verification code mechanism that you can use on your own web site....
-
Posted: March 18th, 2009, 7:00am MDT
Are you looking for a new way to protect your web forms from malicious hackers and spam bots? Then you've come to the right place. In this four-part article series, you'll learn how to use Ajax to protect those forms. Keep reading to learn how to build an Ajax-based verification code mechanism that you can use on your own web site.
- Introduction
With the Web being widely inundated by spam bots these days, its not surprising that many conscientious web developers have started creating different mechanisms aimed at protecting HTML forms against fake submissions.
Ranging from generating the so-called noisy images to including si...
-
Posted: March 17th, 2009, 7:00am MDT
If you re a PHP programmer who wants to learn how to implement the active record pattern within a MySQL abstraction class to make your database-driven applications more robust and maintainable then look no further. Welcome to the third part of a series focusing on the active record pattern. Made up of seven articles this series explains how to take advantage of the functionality provided by this popular design pattern to build an extensible MySQL-accessing class. This class will allow you to perform several queries without explicitly writing any SQL statements....
-
Posted: March 17th, 2009, 7:00am MDT
If youre a PHP programmer who wants to learn how to implement the active record pattern within a MySQL abstraction class to make your database-driven applications more robust and maintainable, then look no further. Welcome to the third part of a series focusing on the active record pattern. Made up of seven articles, this series explains how to take advantage of the functionality provided by this popular design pattern to build an extensible MySQL-accessing class. This class will allow you to perform several queries without explicitly writing any SQL statements.
- Introduction
Now that youre aware of the main goal of this group of tutorials, its time to review the topics we covered in the last article. In that part, I walked you through the development of a basic MySQL abstraction class, which was capable of fetching, inserting, updating and deleting data...
-
Posted: March 16th, 2009, 7:00am MDT
If you re a PHP programmer looking for a comprehensive guide to using the most relevant functions that come with the X-debug extension then this set of articles might be what you need. Welcome to the last part of a series focusing on debugging in PHP with the Xdebug extension. In seven approachable parts this series gets you started utilizing this library s numerous features by way of a hands-on approach....
-
Posted: March 16th, 2009, 7:00am MDT
If youre a PHP programmer looking for a comprehensive guide to using the most relevant functions that come with the X-debug extension, then this set of articles might be what you need. Welcome to the last part of a series focusing on debugging in PHP with the Xdebug extension. In seven approachable parts, this series gets you started utilizing this library's numerous features by way of a hands-on approach.
- Introduction
Now that youve been introduced to the main subject of this series, its time to recapitulate the topics that were treated in the last installment, so you can see more clearly how to link them with the ones that I plan to discuss in this final part.
So, in simple terms, in the aforeme...
-
Posted: March 12th, 2009, 7:00am MDT
In this conclusion to a five-part series on tuning Tomcat s performance you will learn about the various kinds of capacity planning and how to do capacity planning for Tomcat. This article is excerpted from chapter four of em Tomcat The Definitive Guide Second Edition em written by Jason Brittain and Ian F. Darwin O Reilly ISBN 5961 1 66 . Copyright 2 8 O Reilly Media Inc. All rights reserved. Used with permission from the publisher. Available from booksellers or direct from O Reilly Media....
-
Posted: March 12th, 2009, 7:00am MDT
In this conclusion to a five-part series on tuning Tomcat's performance, you will learn about the various kinds of capacity planning, and how to do capacity planning for Tomcat. This article is excerpted from chapter four of Tomcat: The Definitive Guide, Second Edition, written by Jason Brittain and Ian F. Darwin (O'Reilly; ISBN: 0596101066). Copyright © 2008 O'Reilly Media, Inc. All rights reserved. Used with permission from the publisher. Available from booksellers or direct from O'Reilly Media.
- Precompiling JSPs at build time using JspC
Here are some valid (as of the time of this writing) reasons for doing build-time precompilation of JSPs:
You need all the performance you can squeeze out of your webapp, and build-time compiled JSPs run faster than JSPs that are compiled inside T...
-
Posted: March 11th, 2009, 7:00am MDT
Exception handling is one of those programming techniques that beginners often neglect to implement. However when they end up working on a large project on which dozens of other colleagues are working they find that you just can t afford to be superficial. Throughout this article we re going to cover exceptions explain what they are how to work with them and why they are important ultimately how to handle them....
-
Posted: March 11th, 2009, 7:00am MDT
Exception handling is one of those programming techniques that beginners often neglect to implement. However, when they end up working on a large project on which dozens of other colleagues are working, they find that you just cant afford to be superficial. Throughout this article were going to cover exceptions, explain what they are, how to work with them, and why they are important ultimately, how to handle them.
- All right, let's begin explaining what exceptions are. Just as in other programming languages, this applies to Java as well: exceptions are those errors that occur during runtime. These aren't real errors, because they are exceptions. One might call them exceptional events that can and should be ...
-
Posted: March 10th, 2009, 7:00am MDT
Regardless of its rather intimidating name the active record pattern is actually quite simple to implement with PHP when developing database-driven applications. Indeed this pattern permits you to achieve a high level of abstraction when performing typical operations such as insertions updates and deletions of records since all of these tasks are handled transparently by data mappers objects or a data access class....
-
Posted: March 10th, 2009, 7:00am MDT
Regardless of its rather intimidating name, the active record pattern is actually quite simple to implement with PHP when developing database-driven applications. Indeed, this pattern permits you to achieve a high level of abstraction when performing typical operations, such as insertions, updates and deletions of records, since all of these tasks are handled transparently by data mappers objects or a data access class.
- Introduction
Therefore, if you're interested in learning how to implement this useful pattern within a MySQL abstraction class, then this series of articles might be what you really need. In it you'll find numerous examples that will help you to master this topic by mean of a hands-on approach, a...
-
Posted: March 9th, 2009, 7:00am MDT
Welcome to the sixth installment of a series that covers debugging in PHP with the Xdebug extension. Comprised of seven approachable tutorials this series gets you started using the set of functions provided by this helpful library so you can begin debugging your own PHP applications with an excellent level of control....
-
Posted: March 9th, 2009, 7:00am MDT
Welcome to the sixth installment of a series that covers debugging in PHP with the Xdebug extension. Comprised of seven approachable tutorials, this series gets you started using the set of functions provided by this helpful library, so you can begin debugging your own PHP applications with an excellent level of control.
- Introduction
In case you havent heard about it yet, the Xdebug extension is a full-featured library that allows you to perform all sorts of debugging tasks in PHP. These range from checking the values assigned to variables and determining which program lines are executed by the PHP engine, to per...
-
Posted: March 5th, 2009, 7:00am MST
In this fourth part of a five-part series on performance tuning with Tomcat you will learn how to tune both Tomcat and non-Tomcat components for performance. This article is excerpted from chapter four of em Tomcat The Definitive Guide Second Edition em written by Jason Brittain and Ian F. Darwin O Reilly ISBN 5961 1 66 . Copyright 2 8 O Reilly Media Inc. All rights reserved. Used with permission from the publisher. Available from booksellers or direct from O Reilly Media....
-
Posted: March 5th, 2009, 7:00am MST
In this fourth part of a five-part series on performance tuning with Tomcat, you will learn how to tune both Tomcat and non-Tomcat components for performance. This article is excerpted from chapter four of Tomcat: The Definitive Guide, Second Edition, written by Jason Brittain and Ian F. Darwin (O'Reilly; ISBN: 0596101066). Copyright © 2008 O'Reilly Media, Inc. All rights reserved. Used with permission from the publisher. Available from booksellers or direct from O'Reilly Media.
- External Tuning
Once youve got an idea how your application and Tomcat instance respond to load, you can begin some performance tuning. There are two basic categories of tuning detailed here:
External tuning
Tuning that involves non-Tomcat components, such
as the operating system t...
-
Posted: March 4th, 2009, 7:00am MST
You are reading the second part of the multithreading in Java series. The first part covered the basics of threads explained the theory that lies behind them and then gave examples of the two possible ways of creating new threads. This article resumes the journey by getting even deeper into concepts like the ThreadGroup class synchronization and inter-thread communication....
-
Posted: March 4th, 2009, 7:00am MST
You are reading the second part of the multithreading in Java series. The first part covered the basics of threads, explained the theory that lies behind them, and then gave examples of the two possible ways of creating new threads. This article resumes the journey by getting even deeper into concepts like the ThreadGroup class, synchronization, and inter-thread communication.
- Before we begin, its worth noting that this article is a sequel, so it presumes sound knowledge of the things we learned in the prior part. That part of the series was also published here, so should you have any doubts, please refer back to it.
There are three kinds of variable types to whic...
-
Posted: March 3rd, 2009, 7:00am MST
Using the active record pattern to develop a database-driven application offers many advantages. It can save PHP developers a wealth of time in coding and code maintenance because you can take advantage of SQL abstraction. This first part of a series will walk you through the basics of using the active record pattern....
-
Posted: March 3rd, 2009, 7:00am MST
Using the active record pattern to develop a database-driven application offers many advantages. It can save PHP developers a wealth of time in coding and code maintenance, because you can take advantage of SQL abstraction. This first part of a series will walk you through the basics of using the active record pattern.
- Introduction
According to Wikipedia, the active record pattern is a design pattern frequently found in software that stores its data in relational databases. Active record is an approach to accessing data in a database. And admittedly, this definition accurately outlines the functionality of thi...
-
Posted: March 2nd, 2009, 7:00am MST
In this fifth part of a series on using the Xdebug extension to help debug your PHP programs we ll take a closer look at the xdebug_start_code_coverage and xdebug_get_code_coverage functions. Specifically we ll see how we can extend their usage when working with conditional statements. As always we ll complement theory with a number of hands-on examples....
West GA Site Development Call now for land grading and site development in West GA and East AL.
-
Posted: March 2nd, 2009, 7:00am MST
In this fifth part of a series on using the Xdebug extension to help debug your PHP programs, we'll take a closer look at the xdebug_start_code_coverage() and xdebug_get_code_coverage() functions. Specifically, we'll see how we can extend their usage when working with conditional statements. As always, we'll complement theory with a number of hands-on examples.
- Introduction
Debugging a PHP application can be a challenging task, particularly when its necessary to evaluate the more complex facets of a program. By these I mean which functions are called by it, in what order, or even the performance of its different modules.
In this situation, it's reco...
-
Posted: March 7th, 2007, 2:00pm MST
The composite pattern is one of the less commonly used patterns in PHP 5. Nevertheless in certain situations it is very helpful. This article the first one in a two-part series will introduce you to the basic concepts of the composite pattern....
Now you can afford a cutting edge Dedicated Server The latest spec servers instantly deplayed, hosted securely in our data centers, private LANs, remote kvm. All with no bandwidth bills - each server has its own dedicated pipe - all from as little as £49 per month. Instant Signup
-
Posted: February 26th, 2007, 2:00pm MST
Among the considerable variety of structural design patterns that can be implemented with PHP 4 and PHP 5 by the way there s one in particular that deserves special attention. It s easy to apply in the context of a given web application and it offers remarkable functionality when it comes to preventing the unnecessary instantiation of different classes. This two-part series covers that pattern....
Now you can afford a cutting edge Dedicated Server The latest spec servers instantly deplayed, hosted securely in our data centers, private LANs, remote kvm. All with no bandwidth bills - each server has its own dedicated pipe - all from as little as £49 per month. Instant Signup
-
Posted: February 21st, 2007, 2:00pm MST
So far we have covered security vulnerabilities that involve form data databases and file systems. In this article we are going to look at authentication and the security issues around it. We will also look at some of the most common attacks in this field....
Now you can afford a cutting edge Dedicated Server The latest spec servers instantly deplayed, hosted securely in our data centers, private LANs, remote kvm. All with no bandwidth bills - each server has its own dedicated pipe - all from as little as £49 per month. Instant Signup
-
Posted: February 20th, 2007, 2:00pm MST
In the previous two articles we discussed how to read and build an RSS document with PHP. In this article we will create an application that uses the concepts discussed in the other two articles. So let s go straight to the coding....
Now you can afford a cutting edge Dedicated Server The latest spec servers instantly deplayed, hosted securely in our data centers, private LANs, remote kvm. All with no bandwidth bills - each server has its own dedicated pipe - all from as little as £49 per month. Instant Signup