Postcards From My Life

Lint I find in my mind's belly-button.
  • EPK
  • Consulting
  • Resume
  • Nerd Herding
  • Talks
  • CWJ 09

Archive for the ‘PHP’ Category

« Older Entries

How I got Zend_Tool working on Windows

Tuesday, February 23rd, 2010

Dear Reader,

I love Zend Framework. I love it so much I wrote the very first book about Zend Framework. (Note: It’s no longer the best Zend Framework book, but still, it’s a good one) I’ve written projects using it and I now find myself teaching another class on it. One of the cool things about Zend Framework is it’s cli tool, Zend_Tool. (zf) When zf works, it’s awesome. However, when it breaks, it’s a real pain in the butt. Thanks to buddies like Ralph Schindler though (the author of the tool) when it does break, I can usually get help getting it back up and running.

The latest version of zf that comes with Zend Framework 1.10.x and better is much better than previous version and it shows that Zend (well, at least Ralph) listens when people point out problems and work to solve them.

Even though it’s made great strides, setting up zf is still not seamless. To that end, here is my list of steps needed to setup zf.

My setup

I should note before I start that I am running Windows 7. This means symlinking stuff is right out and we have to resort to physically copying files around. On top of Windows 7, I’m running XAMPP. (anyone know, is that pronounced X-AMP ot ZAMP?) this means that my PHP sits in \xampp\php. I’ve added that directory to my WIndows path so I can execute php from any cmd window. With that understanding, here’s my list.

The steps

  1. Download Zend Framework and unpack it somewhere on your harddrive where you want it to live.
  2. Make sure php.exe is in your PATH and make sure you know where php.exe is.
  3. Find the bin directory in your Zend Framework directory. In it there are 2 files, zf.bat (or zf.sh for Linux) and zf.php. Copy those to the same directory php.exe is in. (Linux users, feel free to just symlink them)
  4. Your Zend Framework directory should contain a library directory, change directory into it.
  5. from the library directory, test your zf to make sure it works, zf show should give you what you need.
  6. Type zf --setup storage-directory On Windows 7, this will create a directory named .zf in c:\Users\<Your Profile Name>
  7. Type zf --setup config-file. On WIndows 7, this will create a file .zf.ini in c:\Users<Your Profile Name>
  8. Using your favorite text editor, open c:\Users\<Your Profile Name>\.zf.ini. There should only be a single line in it that contains the include_path zf will use. Add the full path to your Zend Framework directory here. It should end in “\library\”.

Test it

That’s all there is to getting it setup. (I remember the days when it took twice as long and required cursing just to get it working) To test it out, cd to any directory other than the Zend Framework directory and type zf show version That should give you the current version of the framework you have installed.

Now you are free to start using it to create projects, etc.

Small problem

There is still a problem with defining your own providers. I tried to add my twitter provider (yes, I can use zf to tweet!) and it won’t yet recognize it. I’ve brought this to Ralph’s attention and impressed upon him the importance of being to tweet from zf. I have no doubt that a solution will be forthcoming.
UPDATE
As pointed out in the comments, this has been fixed, just not documented. This page shows how to add your own providers either manually or via a command.

You can either manually add a line to your .zf.ini

basicloader.classes.0 = "My_ClassName"

or you can use zf to update itself

zf enable config.provider class-name

So now I can tweet from zf again. :)

Until next time,
I <3 |<
=C=

[Disclaimer: I use to work at Zend and still have great friends there like the lovely Nili and the walking ray of sunshine that is Andrea. That having been said, it's been a long time since they gave me any money. So the point of this disclaimer is really just so I can mention Nili and Andrea. :) ]

Tags: andrea, cli, nili, PHP, ralph shindler, zend framework, zend_tool
Posted in PHP, Programming | 10 Comments »

 

Dynamicly loading images from the web in Flex 3

Monday, February 22nd, 2010

Dear Reader,

This weekend’s Flex project was more successful that last weeks. At least the code has survived this far without me declaring it a bust and moving on to the next project.

This week’s project involves (among other things) calling an API that returns a graphic and then displaying it on-screen. Being the Flex neophyte I am, I assumed that this was a simple call to HTTPService. Unfortunately, as I found out, that won’t work. HTTPService is designed specifically to work with APIs that return specific types of data.
(more…)

Tags: API, flex, image
Posted in Flex, PHP, Programming | 1 Comment »

 

MSWDS09

Saturday, December 5th, 2009

Dear Reader,

After several years in the PHP Community I’ve come to realize that there are 4 major events on the PHP social calendar, tek, DPC, ZendCon and MSWDS. (Microsoft Web Development Summit) There were 3 MSWDS that took place while I was at Zend and try as I might I could not score an invite to this private party. However, last year my number came up and I was luck enough to be invited. (My thought from MSWDS08 can be found here.) While I had a good time last year, this year was an order of magnitude more interesting, fun and productive for me personally.

I met some new people

This year wasn’t just about the PHP core community, we had attendees that represented the Joomla, Drupal and Wordpress communities. I don’t think any of them were official representatives of those communities but they were developers who worked in and around those projects. It was great to meet these guys and I look forward to growing the friendships that started there.

I reconnected with old friends

There are a lot of people in the PHP community that interact with each other almost daily but we only get to see each other in person a few times a year. It was great seeing all my old friends and just hanging with them.


I was co-host this year

Those that know me well know that I’m an attention whore. I love being up in front of a crowd. So I was honored and happy this year when Karri asked me to help host the event. I got a lot more credit for the success of the event than I deserved but was happy to play my small part.

I learned a few new things

To be brief:

  • Even if you don’t like installing plugins, Bing Maps makes Silverlight worth installing. It’s not a game changer but they are doing some things that Google isn’t and competition is always good.
  • WebPI is continuing to grow and get better. Each time I look at this tool they have either added something new and cool or sanded down a lot of the rough edges to make it more useful.
  • WordPress will run on Azure. I seriously had no idea. I can’t afford Azure just to run my blog but if they adjust the pricing a bit, this could be a serious game changer for small-time bloggers like myself.
  • The more people I get to know at Microsoft, the less I’m able to despise the company. Oh sure, they patented sudo and nobody at the conference was able to do anything about those “special kind of stupid” decisions that big companies make. As long as they keep hiring people like Josh, Peter, and Karri though, it’s hard to just paint them with one big evil brush.
  • Blocking irc on your “guest network” is an exercise in futility. It does no good and 30 minutes after we’ve all connected and found ways around it, we just laugh at you.

fClose()

Again, I can’t seem to say thank you enough to Karri and Tanya for all the work they did to put this summit together. Y’all were awesome hosts and we are all in your debt.

I want to say a special thanks to all the attendees. This year’s summit was great because only a few people just sat there and listened, almost everyone participated at some point. A special thanks to Keith for standing up and getting righteously pissed off because it was the right thing to do.

Most of all though, thank you Microsoft in general for asking my opinion and listening to it. Be warned though, I’m watching you. I want to see if you actually listened.

Until next time,
I <3 |<
=C=

Tags: bing maps, josh holmes, karri dunn, microsoft, MSWDS, webpi
Posted in PHP | 4 Comments »

 

WinCache – Preliminary tests look REALLY good.

Sunday, September 6th, 2009

Dear Reader,

UPDATE:
My tests were performed on a Release Candidate of the code. The final code has now been released and Ibuildings has published a benchmark of WinCache 1.0.

Those of you who follow me on twitter know that recently, I tweeted that I had installed Microsoft’s new PHP Opcode Cache, WinCache on a test machine and didn’t see much difference in performance. I then later tweeted that it was probably due to my inexperience in managing II7 and not necessarily a failing of WinCache. In between those two posts, I received 2 messages from people working with Microsoft, the most helpful being from Ruslan Yakushev. If you recognize that name it’s because he writes a lot of good stuff over at iis.net including the getting started guide for WinCache.
(more…)

Tags: microsoft, opcode cache, PHP, Ruslan Yakushev, webpi, wincache, window 7, windows
Posted in PHP | 7 Comments »

 

Quickie Zend Framework Bootstrap Note

Thursday, August 13th, 2009

Dear Reader,

I’ve been teaching a Zend Framework class this week and my students have been throwing all kinds of questions at me. Most recently, while we were discussing creating a Bootstrap class for an application a question came up about the _init* functions.

The manual states that

$bootstrap->bootstrap();

will fire all of the _init* functions in the bootstrap class. However, the question came up, in what order? Thanks to friends like Rob Allen (author of “Zend Framework in Action“), I was able to give them the answer.

(more…)

Tags: bootstrap, hints, PHP, Programming, tips, zend framework, zend_application
Posted in PHP, Programming, zend framework | 3 Comments »

 

PHP and Community

Monday, August 10th, 2009

Dear Reader,

Recently, I wrote a blog post for the Ibuildings blog titled “PHP Rated Top Scripting Language by Evans Data Corp“. In it, I discuss the various aspects of a report published about Dynamic Languages. Overall, PHP came out the top rated language, however, in community, PHP ranked second. By their own admission, this was a subjective and not objective measurement.

Community is a bit more subjective. For example, the Ruby community is quite small but also very dedicated and vocal.

(more…)

Tags: community, PHP
Posted in PHP | 7 Comments »

 

PHPWomen T-Shirts

Saturday, August 8th, 2009

Dear Reader,

Ever wonder where you could get one of those cool PHPWomen T-Shirts? Well now you don’t have to travel to a conference just to get one. Now you can order your very own from their new PHPWomen T-Shirt Shop. They have a variety of styles and colors including one just for guys to show their support for the organization.

(more…)

Tags: community, PHP, phpc, phpwomen, Programming
Posted in PHP | 1 Comment »

 

Things I learned about Zend Tool

Tuesday, August 4th, 2009

Dear Reader,

I’m prepping some training on Zend Framework and have been working with Zend Tool a lot. When MWOP first told me about Zend_Tool, I thought cool. and when it hit the incubator, I grabbed it. I followed the two hour install instructions…then did it again, because I missed a step. Finally I had it and zf show version didn’t throw an error. However, everything else did. It pretty much sucked.
(more…)

Tags: PHP, Programming, suckage, zend framework, zend tool
Posted in PHP, Programming, zend framework | 9 Comments »

 

XAMPP, PHP 5.3, PEAR, and PHAR (what a mess)

Saturday, July 11th, 2009

Dear Reader,

The Short Version

If you are installing PHP 5.3 and when you run go-pear.bat you get this:

phar "C:\xampp\php\PEAR\go-pear.phar" does not have a signature

Edit your php.ini file and find the lines:

; http://php.net/phar.require-hash
; phar.require_hash = On

Change them to :

; http://php.net/phar.require-hash
phar.require_hash = Off

Save and then run

go-pear

(more…)

Tags: pear, phar, PHP, require_hash, xampp
Posted in PHP, Programming | 12 Comments »

 

Calling All (US and Canadian) PHP Devs!

Tuesday, June 2nd, 2009

Dear Reader,

A friend of mine wrote me yesterday asking for a little help reaching the PHP community. Since I know a few of you and each of you know a few others, I thought maybe together we could help get the word out.

My friend, Esther Schindler, is working on a project and needs PHP developers to fill out a quick survey. The survey asks you questions regarding the company you work for, your role, what types of applications you develop, which open source platforms you develop on, what types of customers you serve, your pricing model, etc. All the the stuff you would expect when you hear the term “Market Research”. None of the questions reveal any sensitive information or competitive intelligence but there may be a question or two that you don’t know or may not want to share. (There weren’t for me but hey, I’m just that kinda guy.) And of course, all your personal information will be kept confidential.
(more…)

Tags: market research, PHP
Posted in PHP | Comments Off

 

tek09 Roundup

Tuesday, May 26th, 2009

Dear Reader,

It’s been a while since I’ve done a conference roundup and even when I did them, I don’t think I posted them here. So, let’s correct both oversights at once and do a php|tek 09 roundup.

Unlike other roundups, I’m not going to describe in detail all the cool sessions I attended. In all honestly, I only attended 2 sessions start to finish, and they were both mine. I did manage to slip into Sara Golemon’s PHP 5.3:Hot or Not session and really enjoyed it. So of the sessions I wanted to go to but didn’t get to, which ones would I have attended? All of them! The schedule was packed with topics I wanted to learn more about. Unfortunately, I got sidetracked on some other things and didn’t get as much session time as I would have liked.
(more…)

Tags: arbi arzoumani, conference roundup, elizabeth naramore, Kathy Evans, marco tabani, PHP, php developers, sara golemon, standards working group
Posted in PHP, Programming | 2 Comments »

 

I’m off to #tek09

Monday, May 18th, 2009

Dear Reader,

Ok, the lovely and talented Kathy and I are off to Chicago for a week of deep immersion in PHP and hot tubs.

Here is how you can keep up with what is going on and play the php|tek home version.
(more…)

Tags: chicago, conference, PHP, phptek, tek09
Posted in PHP, Programming | 1 Comment »

 

Microsoft and PHP

Tuesday, May 5th, 2009

Yes, when I think of Microsoft and PHP, I think  of Joe.Dear Reader,

I’ve been doing a lot of research on PHP running on Windows lately and I’ve been really surprised by two things.
(more…)

Tags: microsoft, open source software, operating systems, PHP
Posted in PHP, Technology | 11 Comments »

 

Three Lists I Never Want to See Again

Wednesday, April 22nd, 2009

Dear Reader,

Lists are all the rave these days for bloggers. The reason is obvious, they require very little thought or research to create. So, in keeping with the current trend, here is my list of three lists never want to see again.

3: 5,000 PHP classes and tutorials

Please, write about either classes or tutorials, doing both together means that all you did was put PHP into google, scraped the first 5,000 links and published. Seriously, classes and tutorials are not related, they are separate categories. Why would you feel the need to combine these? Even if you did, it’s already been done to death. I think we can safely say that until after the Mayan calendar ends and he sun explodes, we don’t need another list of PHP classes or tutorials. If you really want to keep up with the latest good tutorials in PHP, check out sites like phpdeveloper.org. Those guys do a great job of finding the best and they never feel the need to give me a list of the Top X.

2: 50 new PHP tricks you didn’t know, didn’t want to know, and will get you fired if you ever use them on the job

Yes there are a lot of ways to do things in PHP, some of them are good, some of them are bad. Some of them are so incredibly bad that recommending them should automatically trigger an Internet worm that formats your hard drive. My favorite tip in bad category is people “discovering” that IF statements don’t have to have curly braces. People, there is a reason we don’t tell new programmers this, it’s a bad idea!

1: Top PHP Frameworks

Look, I know a new PHP framework is born every 12.3 seconds but seriously, there are only a handful of them that will gain enough of a community to become viable. Of those, most change less than once a quarter, even though it feels like they tag a new release nightly. It’s great that you have discovered that PHP has frameworks and googled to find all of them. However, since google has 15,000,000 hits on the search term php frameworks it is safe to assume that you aren’t the first to discover them.

Conclusion

I love the blogosphere. I can find opinions from people I respect and new ideas from friends I’ve not yet met. Whenever I see a list though, I think “someone needed a post and didn’t know what to write”.

If you are using a new PHP class, CMS, framework, or have a new technique you want to share, share it. Write a blog post and tell me how or why it solved your problem; bonus points if you describe the problem that it solved. You are not adding to the conversation is you are just recapping what others have said.

Until next time,
(l)(k)(bunny)
=C=

Tags: bad idea, lazy bloggers, PHP, php classes, tips and tricks
Posted in Blogging, PHP | 13 Comments »

 

Tales of Entreprenureship

Tuesday, April 21st, 2009

Dear Reader,

I am embarking on a new journey that scares the crap out of me. Those that know me know that I always have a lot of ideas floating around in my head. My problem has never been lack of ideas, my problem has always been execution. I’m an awesome idea man but I really suck at making them happen. Honestly, in all my years, I’ve only successfully executed one business idea. (and it worked pretty dang good)

So today I’m jumping out of my comfort zone and I’m going to drag you along for the ride. Just so you know, this blog post and the others that follow it are not about pimping my idea, they are about the struggles I face trying to make the idea into a reality. If you are not into watching someone inflict pain on themselves, this series is probably not going to be of interest to you. However, if you are an entrepreneur, or like me a “wanna be”, follow along and by all means, comment!

“Ideas are a dime a dozen. The money is in the execution.”

One of my friends I’ve never met, Kyle Chowning posted on his blog back in February a post titled “Quit Being Stingy & Give Your Ideas Away“. In it he talked about Seth Godwin’s “Six Month MBA program. One of the off-shoots of that program was that the participants posted 999 idea that they had for new businesses. The concept was simple, if you like one of the ideas, take it and do it. You don’t make money from ideas, you make money from making ideas into a business.

Kyle took that to heart and has a page on his blog dedicated to his “Free Ideas“. I may have to start me a page like that, but that’s a project for another day. After rolling this around in my head for a month it really started to sink in, nobody cares how great your ideas are, people want to see you do something.

No, seriously—that’s all it takes.

Back in December a friend of mine that I have met, Keith Casey, wrote for the PHP Advent Calendar 2008. His post was titled “Getting Started the Right Way“. It really started me thinking, if it’s so easy to get a project started, why haven’t I been able to do it. I’ve read his post more than 10 times now to reinforce the message, find the first step, one that you can do yourself, without help from anyone else, and do it.

I looking at my history of ideas, doing is not my problem, it’s figuring out what to do.

Ok, so if ideas are cheap and plentiful but action is rare and valuable, I’m going to take the first step. I’ve started a new venture. (No, I’m not leaving Ibuildings till they toss me out) This is not a “part time” venture either though; it’s a serious endeavor to build something that adds value to the lives of others as well as myself.

I can’t talk about the venture without mentioning the name and it’s stupid not to give a link if I do that. The new project is called Box Lunch Training, there is a logo over on the left sidebar. The idea is simple, provide team based training for PHP development teams. The execution is turning out to be a bit more difficult. :)

My First Step

My first step was to write a business plan. Being a “cowboy coder” I usually skip the planning phase of any coding project and just start coding, so writing a business plan kinda went against the grain for me. However, I knew that if I didn’t, I wouldn’t be able to see the next steps. So I wrote my business plan.

Writing it naturally let me to my next step, actually creating a product. Since the training is episodic, I wrote the first two episodes. Originally, my thought was that after an episode, I would know what it will take to write others. Writing the first episode was eye-opening, writing the second was so much more difficult that it almost convinced me the idea wasn’t viable. However, after I finished it and assessed everything, I think I’m back on track.

I have to adjust my expectations a bit; writing training isn’t as easy as sitting down and writing an opinionated blog post. (For some reason, people want training to be accurate) :) So there is a LOT of research that goes into an episode. I was prepared for research but not to the extent I am doing.

The upside is I’m researching PHP so it’s fun. :)

My Next Step

I think my next step will be to get 2 more episodes under my belt. The lovely and talented Kathy is working on building out a web site for the project and we are shooting for a July 1 launch. I want to keep about 4 episodes in the can at all times in case of emergencies. That is a lesson I learned from podcasting, never wait until the week the episode is due to create it.

Future steps

As I see them at the moment these are the things I need to do.

  • Build out website
  • Start contacting likely affiliates
  • Finish the first four episodes
  • Refine and prioritize the list of topics. (I’ve got a list of about 60 episode topics that I need to prioritize.)
  • Find a way to sell the idea to businesses. This is really my weak point, I can code, manage and build but for the life of me, I can’t sell. I’m really hoping that I can attract a few top-notch affiliate sites and outsource the selling to them. (I’m open to other ideas if you have them)

More to come

This blog post and the others that will follow are more for my sake than anything else. I do encourage you to comment if you’ve got something to say that will help. Mainly though, I just need a place to gather my thoughts.

Thanks for reading!

Until next time,
(l)(k)(bunny)

=C=

Tags: Entrepreneurship, ideas, startup
Posted in Entrepreneurship, Me, PHP | 1 Comment »

 
« Older Entries
  • Team Based PHP Training

  • Sponsors and Ads

  • Conferences I’m Attending

  • About Me

    cal_evansThis is my blog. Sometimes it's my deep thoughts, sometimes it's a journal of things I've learned. Every now and then it's my box of shattered dreams. Most of the time though, it's just the place I like to write. Sit with me as I show you some postcards from my life. While you are here, do me a favor and leave a comment.

    If you are looking for my contact information, bio, picture, ASL, check out my EPK.

    My name is Cal Evans and this is my blog.



    Follow me on FriendFeed!

    View Cal Evans's profile on LinkedIn

  • My First Book

  • Support PHPWomen


    US Shop | European Shop

  • What I'm Doing...

    • I totally forgot to announce, I'll be speaking for the UPUG via gotomeeting this Thursday evening. Giving my "5 Things" talk. #fun 59 mins ago
    • @chartjes well, my butt is large enough to require one. :) in reply to chartjes 4 hrs ago
    • @sidhighwind Happy Birthday my friend! 4 hrs ago
    • More updates...

  • Tags

    API article Cal Evans codeworks conference cw09 developers devzone elizabeth naramore Entrepreneurship Exim flex fun IBuildings iPod Kathy Evans linkedin Mac Management Marketing microsoft MySQL Nashville phar PHP phparchitect php developers podcampnashville podcast podcasting poem Programming Quickies respect RSS Silly-Con Valley sixty second tech software development terry chay twitter upgrade video wordpress zend zend framework

  • RSS PHP Podcasts

    • Writing Composite Zend_Form Elements
    • Preparing Custom Elements for Zend Validators
    • webcast: Introduction to Doctrine 2
    • 8 Reasons Every PHP Developer Should Love JavaScript
    • oddWeek Episode #4
    • Creating Custom Zend_Form Decorators
    • Habits of Highly Scalable Web Applications
    • PHPSPCast #6 – Ao vivo da Campus Party (Q&A)
    • php|architect podcast: oddWeek #003
    • Podcast #2010-02: Stalker Edition

  • XBox Gamer Card

  • Me

    • Best web design company
    • Cal Evans Dot Com
    • Cyrano’s Apprentice
    • Evans Internet Construction Company
    • My Life as a Child
    • PHP Podcasts
    • Sixty Second Tech

  • RSS My Blog at php|arch

    • An error has occurred; the feed is probably down. Try again later.

  • Flickr Recent Photos

    Blue Parabola Southern Office-Rear Annex is closed for snowSnow Heart@dzuelke getting ready to give his talk@fabpot talking about Dependancy Injection@derickr giving the opening keynotePeople meeting other peoplePHP Benelux Goody Bag ContentsCheck InDSCN2280The main room

  • Categories

    • Apache
    • BlogBling
    • Blogging
    • codeworks
    • Entertainment
    • Entrepreneurship
    • Flex
    • Humor
    • JavaScript
    • Long Form
    • Management
    • Marketing
    • Me
    • PHP
    • podcasting
    • Programming
    • SQL
    • Technology
    • Web 2.0
    • wordpress
    • WordPress Plugins
    • writing
    • zend framework

  • Meta

    • Log in
    • Entries RSS
    • Comments RSS
    • WordPress.org


Postcards From My Life is proudly powered by WordPress
Entries (RSS) and Comments (RSS).