The Geolib PHP Framework
A Quick Overview
What it is
The Geolib PHP Framework is a small, easy to use system for writing webpages. Unlike most frameworks, the focus is on basic functionality, simplicity, speed, and ease of use. It contains some simple classes for writing html content, including all form elements, along with some wrappers that make the classes very easy to use.
Also included are a few handy utility functions to perform some of the more common tasks that you will encounter when writing web sites, and a method for debugging PHP variables.
Here is the ApiGen Geolib Documentation
What it is not
The Geolib PHP Framework is not an all purpose tool. It can write form elements, but it has no database functions or database interface. However, it can be used along with any database abstraction library, such as The ADOdb Database Abstraction Library, or the Wordpress wpdb object.
Because it doesn't need to get or control data, it doesn't use the Model/View/Controller design pattern, which makes it very easy to use.
Its Better This Way
With Geolib, you have tools to help you write HTML content, but you are not stuck with any particular design pattern or database abstraction. You can use the Geolib framework to help you write your own database interface, or you can use a separate database library. Either way, you can use Geolib to help you write a model/view/controller design pattern to view or control data, or any other design pattern you find convenient. This is actually better than using a framework which insists that you start with a model/view/controller pattern, because the model/view/controller that you write won't have to be a complex monstrousity adabtable to every conceivable situation. It can be specifically targeted to serve your particular website, and will therefore be simpler, more adaptable and easier to use.
My name is Peter Pitchford and I am the owner/operator of GeoTonics Web Development. I live the New York's beautiful Hudson Valley. I first learned to program in 2001 by writing a website about my grandfather, Cardini. I loved programming so much I decided to do it for a living. I also run, do yoga, fix my house up and play with the kids.
Approx 1977-1983 I worked with Plenty on their ambulance project in the South Bronx. We remodeled an abandoned building and started an ambulance service in an area where there was no ambulance service at all after midnight. I lived in an alternative intentional community and helped raise funds by working in a construction company that worked closely with the ambulance service.
Approx 1990-1997 I was a member of Don't Waste NY, an organization that lobbied New York State to resist the Federal Government's effort to force states to build nuclear waste dumps. My job was mostly to explain the world of nuclear politics to the public. The local newspaper, The Woodstock Times allowed me to run regular columns about nuclear waste and nuclear power. NY eventually stopped trying to site nuclear waste dumps in the poorest areas of the state.
I also play music and am frequently at various open mike nights in the midhudson valley.
The Geolib PHP Framework
Let Geolib do the work
The html on this website was written with the Geolib library of PHP functions. I didn't have to write one html tag.
There are basically 4 ways to write web pages. One is to write all the html tags out yourself. Another is to use a "What You See Is What You Get" editor such as Dreamweaver. Another is to use a scripting language along with templates for your pages to add the content to the html. And yet another is to use a scripting language to write the html for you. The Geolib library is for those who prefer this last method.
Geolib is so easy to use even kids can use it to write valid html without worring about all the details. There is no need to understand complicated design patterns or templates. You don't even have to keep track of start and end tags. Geolib does that for you. Its more versatile than using what-you-see-is-what-you-get editors like Dreamweaver, and also writes better code because you have more control over the html details. If you do want to debug the html in the source code, the html code can be printed in a pretty format.
Most html tags are represented by wrapper functions. The wrappers are carefully written to utilize the most common arguments in the most convenient order in order to serve the most common purposes. If their interface is not sufficient, you can always use the base classes. The following functions are named with a "geo" prefix and the html tag it produces
- geoBody() for <body>
- geoTable() for <table>
- geoScript() for <script>
- geoImg() for <img>
- geoHtml() for <html>
Functions that produce html input elements are named with the "geo" prefix followed by type of input
- geoText for <input type="text">
- geoTextarea for <textarea>
- geoCheckbox for <input type="checkbox">
- geoRadio for <input type="radio">
- geoSelect for <input type="select">
Finally, there are eight functions named for the tag they produce without the geolib prefix.
- div() for <div>
- p() for <p>
- span() for <span>
- h1() for <h1>
- h2() for <h2>
- h3() for <h3>
- h4() for <h4>
- b() for <b>
- i() for <i>
The Geolib PHP Framework
The geoTable function completely eliminates the needs to write out html for tables. Its quicker, you never need to keep track of tags for tables, table rows or table cells, and when you come back to edit the page you don't have wade through all those tags to get to your content.
To build a table, create an array for each row, and then add those arrays to another array.
Another way to do the same thing:
Then simply add the array as the first argument to the geoTable() function:
And it looks like this:
The Geolib PHP Framework
View or Download
Go to github to view or download the Geolib git project.
PO Box 584, Accord, New York 12404
Results-oriented, technically sophisticated programming professional with solid history of effective website design and development, software development, and application design. Exceptional ability to work under high pressure, offering solid skills in systems architecture/design, full cycle of project development, and visionary productivity/performance/systems enhancement, complimented by a proven ability to deliver innovative improvement strategies to meet organizational objectives. Seeks telecommuting position.
Areas of Expertise:
- Website Development & Execution
- Database Design/Development
- Project Management/Coordination
- Systems Strategy & Implementation
- Troubleshooting & Problem Resolution
- User Training and Support
Linux, Apache, Windows NT, Mac OS
2014 – PresentProgrammer, Web Developer, Geotonics, Accord, New York
As the owner/operator of Geotonics I have contracted with various startups as they got off the ground.
- Took over an event driven Wordpress social media website.
- Built a showcase for beach front property in Nicaragua.
- Built a front and backend for dealers partnered with Verizon to sell network equipment to retail franchises across the country. The application keeps track of hardware sales, customer data, and subscription services.
- Built plugins and added custom algorithms to Word Press sites.
2003 - 2014 Programmer, New Global Marketing, Rosendale, New York
Served as lead webpage programmer. Designed and implemented web applications; supported and administered web-enabled applications and web serving systems, and identified and resolved technical issues. Oversaw and troubleshooted a database of 8000+ products. Conducted extensive systems administration, reporting/distribution, and software configuration. Identified/resolved technical issues, and database/web breaches. Conducted extensive project coordination/planning, troubleshooting, and application installations and implementations. Assessed, mitigated, resolved deficiencies, and strategically recommended corrective actions.
- Implemented search engine optimizations, directly aligned company visibility and presence; added and updated links for various brands and categories.
- Resolved and conducted extensive troubleshooting of numerous technical issues; re-authored code to optimize e-commerce website.
- Supported cross-functional teams in planning and execution of special projects. Critically evaluated project requirements and coordinated delivery of appropriate resources to meet operating demands.
2004 - 2014 Website Editor,
Enneagram Institute, Stone Ridge, New York
- Implemented processes and systems that generated higher productivity and revenues through daily operations management and superior leadership.
Education and Training
Computer Science, Ulster County Community College, Stone Ridge, New York
~ Cisco Networking Academy Program