Archive for category Applications
Introducing LavaPHP – Yet Another PHP Framework
Posted by Randy in Open Source, Programming, Web Development on April 13, 2012
I've used quite a few PHP framework to varying degrees, and like many other PHP developers, I've decided to make my own. Of all the current frameworks available, I prefer CodeIgniter, because it is easy to use, has great documentation, and generally stays out of your way.
Everyone has their opinion of the best PHP framework, but I like the ones that let me write PHP and don't throw a lot of features that I don't need into the mix. I found that no matter what PHP framework I was using, I was always creating a table for users. I was always creating login functionality for users. I was always creating email confirmation functionality for users. I was always creating an admin interface for working with my configuration. I was always creating classes that helped me work with web services/REST APIs. I always need a small web service of my own for Ajax functionality. I always needed to add curl functionality just in case the hosting provider had fopen disabled (which most do).
Those were the things I needed. ORMs are great and all, but I really didn't want to learn proper YAML syntax just so I could setup automatic object models for my database tables. Creating models for my database isn't that much of a chore. Creating a complete user system can be.
So, I set out to create a framework that I can use for my own projects and have all the functionality that I find I usually need right out of the box.
Another thing about frameworks is that they are designed to make enterprise level sites. They aren't designed to create software system which can be distributed. By that, I mean I wanted to create a software package that could be installed by end users and used by them to create their own websites (custom CMS system with a specific purpose). A normal framework doesn't work well in this area because of the way views are usually handled. Mainly, I wanted third parties to be able to create themes for my CMS systems without much effort. With something like CodeIgniter, I could use a templating engine via a plugin or Codeigniter's own minimalist template engine, but I don't like take one piece of software and adding on a bunch of plugins.
First you have to learn how to use the plugin. Then you have to hope that there isn't a bug in the plugin that will spring up in your app. Then if there is some small customization that needs to be made to the plugin, you could spend days trying to figure out a way to make it work with your system, when it would have taken less time to just write your own. Using plugins also feels a bit like cheating to me, as well. I want to know every little part of my system, so that if a bug comes up, I'll know right where to look or at least have a decent idea where to look.
With all that said, I'm announcing my PHP framework. I've written it completely from scratch and I'm hosting it on Github. I also have purchased the dot com for it. I'm calling it LavaPHP. The motto will be "LavaPHP - Add a little lava to your LAMP" and it will have a lava lamp as it's mascot/logo. If you'd like to help with the initial development, hit me up and fork the project here: https://github.com/lpcustom/LavaPHP
Reset a WordPress password
Posted by Randy in Applications, Internet, technology, Web Development on January 24, 2012
I'll make this post short and sweet. Let's say you've forgotten your login for a WordPress site. To reset the password to something new, you can simply use a SQL query. If you have access to PHPMyadmin or the MySQL command line, this is really straight forward.
From PHPMyAdmin, open the database for the WordPress installation. If you don't know which database to use, check out your wp-config.php file inside your main WordPress installation folder. You'll find constants defined in that file for your database name and database user. Once you've found the database, you can execute a SQL statement by clicking the SQL button. In there, type:
UPDATE wp_user SET user_pass = MD5("yourpassword") WHERE user_login = "admin";
That's assuming that your username is "admin". Change it to whatever username you are using. Once you run that SQL statement, your password will be set to whatever you put in "yourpassword". Both the username and password need to be quoted in the SQL statement.
To do the same thing in the MySQL command line, connect to the database with:
mysql -u<username> -p
Substitute <username> with your actual username from the wp-config.php file.
You will be prompted for a password. Use the password from the wp-config.php file.
Once you are logged into the mysql command problem type:
USE <databaseName>
Substitute the actual database name from the wp-config.php file.
Finally, type the update statement above and hit enter.
After you've updated the table via SQL, you should be able to login to your WordPress installation.
Windows 7 Freezes Randomly
Posted by Randy in Applications, Windows on December 28, 2011
I recently reinstalled Windows 7 on my main box because I wanted to do some good screencasts for my PHP Video Tutorials site. After installing a few updates for Windows 7, I started getting a strange issue with audio and video. The OS would glitch. I would get short pauses in video and distortion in the audio.
After killing some processes and services, I soon found out that the problem was with Windows Superfetch. The issue has to do with my SSD drive. So if you have an issue like this and you have a solid state drive, you should try disabling superfetch. After stopping the service, give it a few moments. Play videos and see if you still get the problem.
If you want me to write up a howto on disabling superfetch, leave a comment. If there is any interest, I'll write it up.
The Best PHP Framework?
Posted by Randy in Applications, Internet, Programming, Web Development on November 3, 2010
I've been really interested in using a PHP framework. One thing holding me back is deciding which one to work with. It seems that every time I start looking at frameworks, I end up deciding to just code everything manually. The major contenders seem to be Yii, Zend, Symfony, CakePHP, and CodeIgnitor. However, I have no idea which one I'm going to use. It's hard to decide without learning the ins and outs of each one and making a good decision based on that knowledge.
My latest attempt was with the Zend framework. I was getting into it and realized that most of the documentation for setting it up bases the setup from a virtual host in Apache. This would be fine, but it actually makes development and deployment overly complicated for me. My development environment is a Linux machine that is my main desktop. My production server is my own dedicated server with CPanel. Zend doesn't work very well with this setup from what I can tell.
I want my site to transfer easily between the two environments. I like them to be self-contained as well. I want to throw the framework into a lib folder or link to it in some way. I don't like that the forward-facing web site is in the "public" folder. I want the root of the website to be the forward-facing public website.
I would really like to use Zend because it has a lot of good extensions for utilizing various web services.
I'd like to hear from others. Which framework would you recommend and why?