views:

246

answers:

4

Hi,

Im trying to learn how to set up a Zend framework web application from scratch. Ive been using Magento and I understand how powerful Zend is, but im over my head it seems like.

So I bought a book, developing web applications with Zend 1.8 by Keith Pope, and I cant even follow past the first chapter. The thing that is confusing the hell out of me is the whole command line deal.

Here is a passage from the book --

Once we have downloaded the Zend Framework release package, we need to do some basic installation before we can start creating our application. First, create a new directory within your web server's document root, from which the application will be served. The examples in this chapter use the directory name of helloZend. Next, copy the library and bin directories from the release package into the newly created directory. The library directory contains all of the Zend Frameworks source files, and the bin directory contains the command line interface for the Zend Framework. The Zend Framework is now installed and ready for use! Creating the project structure We are now ready to start creating the directory structure for our project. In order to do this, we are going to use the command line interface provided by the Zend Framework. This interface uses the Zend_Tool component that provides a whole host of commands that makes it very easy to get up and running with the Zend Framework in just a few minutes. In order to create the project structure, open up your command line and change into the hellozend directory, and then run the following command: For Windows users: bin\zf.bat create project For Linux and Mac users: bin/zf.sh create project

Ok so Ive done all that. But up above in first part he says upload it to your web server, did that already. But then "open up your command line", how exactly do I do this? The only command line I understand I can access is Terminal, do I do something with Terminal or??? (Im on a mac) - I tried navigating straight to bin/zf.sh on my webserver and it brought up a what do you want to open this link with, I chose terminal and nothing happened.

Can someone clarify this for me? I realize this may be a stupid question, but I have zero experience working with non live servers and what not....

A: 

I don't say this to developers often, but you are in over your head if you don't yet understand how to open and use a command-line shell. Your question is not stupid -- everyone has to get started somewhere. But Stack Overflow is a place for specific questions about programming, like "I tried X and it didn't do what I expected, how should I code it instead?"

All I can suggest to you is to start studying. I believe that it's counter-productive to try learning new tools at the same time as trying to get a project done. So spend some time just learning the Terminal interface and how to run things in that environment.

Google for "Mac Terminal tutorial" and a bunch of useful articles and YouTube videos come up. Start there.

I also recommend "Mac OS X: The Missing Manual".


Re your comment: Okay, I think I'm seeing the source of your confusion. What the excerpt is not saying is that you need to open a shell on the host where you're developing your ZF app. What I do is to develop the project on my local host (my Macbook) so I can have quick access for moving files around and so on. This means I run an instance of Apache running on my Mac.

Then at intervals, when the app is running and done with respect to a given milestone of functionality, I upload the whole set of files I developed to my production server.

Tell me if I'm getting warmer. I really can't tell what you know and what you don't know because of the way you've asked your question.

Bill Karwin
i understand how it works ive used terminal before, what I dont understand is how to use it in conjunction with the files ive already uploaded to my webserver to create the required folders on the webserver...
thrice801
I actually got it figured out thanks. Ya, I was saying I dont ever do local development, I always upload it straight to the webserver and configure and just start working on the files from there, so using terminal, while neccessary locally, hasnt been needed yet, although apparently connecting to my server using ssh is still important for Zend framework purposes at least.
thrice801
A: 

anyone who needs the basic understanding of connecting to a webserver via terminal or command line via ssh should read the following:

http://www.elated.com/articles/ssh-and-basic-commands/

Although, the information there didn't work with my particular webhost. I had to format the connect command like this:

ssh user@host -p 1234

Where 1234 is the servers port number, which you will need to get from your webhost if you dont know it.

thrice801
A: 

To run that script, navigate to directory where you've uploaded it (you open terminal, connect to your server via ssh if you're doing this remotely).
After that execute it like this:

./zf create project your_project_name

It should create new dir named "your_project_name" and in it many other sub-directories for your application.

Also, I'd recommend that you go for http://framework.zend.com/manual/en/learning.quickstart.html instead that book - Quick Start really is great.

Blazeme
A: 

I've been a ZF developer for several years, but was working on a pre- 1.5 version up until very recently (not by choice) I found it easiest to build a local version on my machine via ZendServer CE, then once all was running and stable, port it over to my dev server. Because I have full root permissions locally, I didn't run into any issues of naming/permissions as I walked through the initial tutorial of new features and initial setup.

Also, don't miss Akrabat's tutorial on getting started the ZF. It's very well written and in some cases easier to understand than the quickstart: http://akrabat.com/wp-content/uploads/Getting-Started-with-Zend-Framework.pdf

bpeterson76