CodeIgniter with Eclipse PDT, is clean integration possible? - php

I am attempting to setup codeigniter with eclipse but am getting project errors. From what I understand this should be as simple as creating a new project in eclipse and pointing to the root directory of codeigniter. This properly loads up the codeigniter files but eclipse reports several errors. Looking into the files, it seems like the errors are coming from html files and/or files that print html. For instance, footer.php is showing up as having an error because there is a closing tag but no opening tag. Any suggestions on how to overcome this? At this point would code completion / debugging be too much to ask for as well?
UPDATE: so from what I am gathering from the response below (and searching around on the web) is that when using codeigniter with eclipse one can only take advantage of the code completion / editing features? I also noticed that I am getting NoClassDefFoundError when attempting to open some of the .php files in the eclipse project tree for editing. Surely I must be missing something and there is a way to achieve tighter integration with codeigniter and eclipse? (i would strongly prefer to stick with eclipse as opposed to switching ides) Or maybe this is an issue with my eclipse/pdt setup?
UPDATE 2: I just downloaded the latest eclipse version (galileo) and it seemed to fix all of these issues! except for debugging of course ...

you can achieve tighter integration by initializing the Ci core classes in CI_Base constructor which will also allow you to get auto complete for core classes check out these links:
http://www.gostomski.co.uk/codeigniter/getting-full-auto-complete-with-codeigniter-in-eclipse
http://hetal.wordpress.com/2009/09/04/working-with-eclipse-and-code-igniter/

you will get lots of html errors because the html has been broken into chunks
and is not a complete document
just ignore them thats what i do (there are settings somewhere that control what errors are validated against in eclipse)
i still use the php/html/js code completion and it works fine even with the errors
if you are using svn version control, add subclipse plugin, so you can do that from within eclipse too

Try Aptana.
The last time I checked I was able to do a step by step debug on it and did not see any errors in my project. It is also built on eclipse, so there is nothing new to learn.

For what it's worth, I have been able to get debugging to work using XDebug and the Netbeans IDE. If you cannot get debugging to work in Eclipse you might give Netbeans a try - if for no other reason, to have the ability to debug should you ever need to step through your application's code...

Related

Moving a file in Eclipse breaks the program - any way to solve that?

All,
I'm a beginner user of Eclipse. I am currently using it for a PHP project. I am starting to have a lot of PHP files under my project so I created a folder inside the project to relocate some of the files. However this breaks the program because as I move the files the functions calling for those files are not updated to reflect their new location.
Is there a way to do that automatically in Eclipse? I would have thought that it would be a core functionality (but then again, I've never used an IDE before.)
Thanks,
JDelage
No, you can't do that without refactoring the code. A global find/replace could fix the problem for you though.
You can try to delete your .metadata directory.
(after backup)
/YourProjectDirectory/.metadata
And restart your IDE.
Or eventualy try to run eclipse with the param "-clean"
"C:\ecplipse.exe -clean" (from CMD)

debugging a Yii web application using Zend Debugger in Eclipse

I have Zend debugger running successfully in Eclipse but I don't understand how to debug a Yii project. I.e, I can debug a single page PHP script but I don't know what the configuration options are supposed to be for a Yii web application.
For example, I was thinking the Controller file would be the file I would select to actuall debug but it says the file can't be found. I've attached a screen shot of what the options are.
I've used the Firefox Zend Debugger extension and that works great. Now, I just want to know how to do the equivalent of that in Eclipse.
The basic options are: File and URL
Have you debugged other applications using Eclipse? If so, it shouldn't be much different:
I'm usually debugging on /, meaning I login to the application, go wherever I need to, then prepare the debugged scenario (including breakpoints where appropriate). Next, I run a "general" debug session -> a new tab is opened on the browser. I ignore this tab and instead go back to the tab where I prepared the scenario I want to debug and continue there.
I usually go with marking / or /index.php as the "debug entry point" (or whatever the term is). If needed (I don't think I needed to with Yii), I would have config some "paths" that tell the IDE that "/" is translated/represented by HTDOCS. Again, I don't think I needed to with Yii (but I debugged little with Yii thus far).
I once had a blog post on debugging Drupal with PDT (which is Eclipse) and xDebug (which is an alternative to the Zend Debugger and essentially the same). You might find it useful: link.
Good luck!
When in a framework, work within the framework rules. If something's not working, don't try to review the code step-by-step. That's unproductive, because you will pass through dozens of encapsulated functions with no discernible order. Yii is built on a singleton pattern, which in my experience makes it just about impossible to know where you are or where you're going.

Dreamviewer & Zend Framework project: Wrong path mapping

I tried all the day to set up a Zend Framework project in Dreamweaver CS5.5. Now, after a few hours spending on google and the CS5.5 doc, i am still not able to debug a Zend Framework project in Dreamweaver:
Let's say, i have a module called "admin" in /application/modules/admin. If i try the Live View feature, Live Code, or the dynamic files discover, it fails at all.
If I try to debug the IndexController of the AdminModule, Dreamweaver always tries to render the page http://foo.bar/application/modules/admin/controllers/IndexController.php, insteadof http://foo.bar/admin[/index/index]
Is there any way to get those features working with Dreamweaver CS5.5?
Also, the include path does not work. The /public/index.php includes something like require_once 'Zend/Application.php';. Where does Dreamweaver search? He tells me that he can not find the file http://foo.bar/Zend/Application.php. Omg, srsly?
I hope there are some Dreamweaver PHP developers out there which can help me.
Btw, I am using Zend Studio at the moment and wanted to get a "quick" look into the new CS5.5 features :/
Update 16.05.2012
Little update from me. I'm currently Using PHPStorm from JetBrains. It is the best IDE I ever had. (Ecpilse/Aptana/Zend Studio/PHPDesigner). Autocomplete for nearly everything, huge plugin repository and much nice features like LESS Support, NodeJS Support, PHPUnit integration or an integrated Git Client. Give it a try. It's free for open source projects.
Dreamweaver can technically work with anything, but it's really designed to work with procedural php.
I would recommend the eclipse software with the pdt plugin or net beans. WAY better for supporting a zend framework project imo.
I'm not bagging on dreamweaver, it's a nice tool (especially for html/css), but for OO PHP programming, it's really not designed for it.

My first CodeIgniter program: where should I write it?

I just installed CodeIgniter, and it gave me the source code.
From what I understand, I should move the source code to my local server folder.
I did the configuration; but now what should I do next? What should I use to write code -- DreamWeaver, for example, like any other PHP file? Is there any GUI program dedicated for CodeIgniter?
The very first thing you should do is read the documentation. I do not use it myself, but I know for a matter of fact that CodeIgniter has some documentation. And there are heaps of introductions and getting started materials. (It also explains how and where to unpack it.)
http://codeigniter.com/tutorials/watch/intro/
http://codeigniter.com/user_guide/overview/getting_started.html
http://www.google.com/search?q=codeigniter+introduction
Btw, there are no clicky-coloury apps that do the coding for you. You will have to resort to an editor; and yes Dreamweaver will do. And then learn the API.
Codeigniter has excellent documentation, wiki and forum. For coding you can try Notepad++ (http://notepad-plus-plus.org/) which is free, light, colors syntax, have plugins,... and you can even put it on the usb.
After that you can try one of many IDE like Eclipse or Netbeans.
textmate has a bundle for CI, i do alot of CI development and I use the following
maamp for localhost
http://www.mamp.info/en/index.html
textmate for php html / css dev
http://macromates.com/
navicat for mysql managment
http://navicat.com/

Eclipse Auto-Complete for Included PHP Source

I've installed Eclipse 3.5.1 (PDE), which I believe I got from Zend's download site (it was a while ago on my travel laptop). I can't get auto-complete to work for any of my included libraries. I've tried both adding the libraries to the 'include path' and just linking the files to a subdirectory of the project. Neither gets me auto-complete of the library classes.
My normal development system has an older version of Eclipse which I don't update, because it currently works well, and I fear an update will change that. I find configuring eclipse more work that actual coding, and more voodoo that mod_rewrite. I doubt I'm alone.
Any secret to getting auto-complete working?
No you're definitely not alone! I have experienced this problem in many installations of Eclipse (after updates and such etc etc). Try running Build Project. I know that solution has worked in some instances for me. My last installation I was running Eclipse Galileo and once I finally got the intellisense to at least work it was extremely slow. I tried lowering the time delay for the intellisense which helped in php files (still had a 1.5 second delay at least) but made it way over-sensative in my view scripts for example.
I finally bit the bullet and switched to Zend Studio 8. (At least they've knocked the price down $100 haha).
Eclipse has a quirky auto-complete but the Zend one is excellent! :)
You can add a PHP library to the project in Project properties/PHP Include Path/Libraries. After that, autocomplete will index all php files in that directory.
Maybe it's not the best solution for you, because it doesn't care about whether the file is included or not in the given script. If I include /usr/share/pear, and now I see all PEAR libs' functions everywhere.

Categories