Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I'm going to teach PHP (plus HTML, plus MySQL) to a complete beginner. What tools do you recommend for Windows in term of editor, web server and general set up?
I'd suggest XAMPP, which is PHP, MySQL, Apache and Perl packed together with very easy installation and almost no configuration needed.
For development, I suggest using NetBeans as IDE, it has very nice PHP support.
Get a prepackaged distribution. There are quite a few of these around. Personally I use XAMPP but others are fine too. This gives you Apache, PHP and MySQL with an easy-to-use installer.
Other than that you don't really need much. Just an editor of some kind (which could be anything from Notepad to a full-blown IDE) and something to connect to MySQL. Possibly phpMyAdmin but I personally prefer a desktop app for this. DBVisualizer is pretty decent. There are others.
As far as editors go, of course don't use Windows Notepad. :) Notepad++ is a better free alternative. As far as IDE goes, I kinda like phped but it's commercial. Netbeans is OK. Eclipse can be used too.
I'd second the notepad++ requirement. I'd also seriously advise installing xdebug on the webserver as it'll give a full stack trace if something goes wrong. Without this debugging can be really difficult.
I'd also advise developing with notices on (rather than just warnings). It's a bit more work to code but it's caught stupid errors for me countless times and is invaluable.
Wamp server is good, and contains MySQL, which is probably what you want to target if you ever plan on putting anything live on the web as other databases may not be as well supported.
Make sure you have a real, step-by-step, debugger, and teach them how to use it. “var_dump debugging” is okay in a pinch, but not a good habit to get into. As suggested above, Xdebug is a good choice, especially when paired with a nice front-end. The Komodo IDE as well as NetBeans work with Xdebug.
Beginners often are concerned about “optimizing” their code to make it faster. You can show them—using profiling—that optimizing for speed is pointless unless (1) it really is slow and (2) what you’re optimizing really is the bottleneck. You can configure Xdebug so that simply adding ?XDEBUG_PROFILE to the end of a URL generates profiling statistics. You can then analyze those statistics with the beautiful and easy-to-use webgrind.
Choosing an editor or IDE is a personal decision. Let them use whatever they are comfortable with. If they’ve never programmed before, teach them about your favorite editor or IDE.
XAMPP give you an out-of-the-box installation with PHP, MySQL, Perl and Apache, so you can focus on learning HTML and PHP:
http://www.apachefriends.org/en/xampp.html
Apache-based local web-server, and a comfortable IDE.
You may use whatever IDE you like, but it should:
- highlight PHP
- have embedded FTP client (for working with non-local files)
I recommend XAMPPLite with PHP 5.3.0 if possible.
Regarding databases, I suggest SQLite - it's a great database engine embedded in a single file that supports standard SQL and IMHO it's easier to set up and maintain, otherwise MySQL with InnoDB.
Editors, I would go with Notepad++ or Intype for TextMate-like bundles.
If you're looking for IDEs, pick either Komodo or Aptana.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I am used to metapad (basically a more fault tolerant notepad), dreamweaver (memory hog with neat syntax highlighting, and basic error detection), and hotdog (antique, dont use this anymore!).
What I want to do is migrate to a better editor that isn't a memory hog like dreamweaver, but also is closer to the edge of production programming. I use SFTP alot with my internals, FTP basic with my external projects, and I also want to use SVN. <- Most of these protocols dont need to be built into the editor, but it would be nice.
My question is this;
I have looked at Sublime Text 2, the responsiveness is amazing, but it's broken. Alot. And every time someone mentions this. They suggest that it will be that way cause it's a "beta" release.
Is there something else that I should use that is similar or uses the same plugins? How do I make sublime more stable short of de-compiling the thing, and trying to hack it to behave with Windows? (or perhaps, Simple Text 2 is purely for Mac users?) Let me know!
My Target Market;
Speed, Lightweight (Aptana & Dreamweaver use around ~150MB memory), Keyboard intensive preferred (or at least shortcut friendly), works in portable mode (install not required)
Platforms required; Windows 7/XP, Linux CentOS 6.x (with PuTTY please?)
Platforms wanted; Android OS / Apple iOS - friendly with bluetooth support (?)
Syntax highlighting/coding specific for/with; *Important
PHP 5.x, MySQL, YUI
Syntax highlighting supported for; *Not so important
HTML, XML, and maybe.. YAML/MongoDB (?)
Works with or does something similar to; (Zen Coding - fast way to write repetitive tasks)
http://code.google.com/p/zen-coding/
I DO NOT care for;
Debuggers.. why? Because I can write debugger stuff in my own code, and often.. even inside of dreamweaver I never use their test browser cause I always end up wanting to use a full-fledged browser with extensions like firebug/ySlow inside of IE9, Firefox 12, Chrome, etc.
** Updated with more specific requirements.
It sounds like you value stability and robustness. My long-time text editor on Windows was UltraEdit. It's not one of the "hip" new editors, but it's solid and has support for a lot of things, though it does take some configuration to get going. It isn't free, however. All the open source or free text editors I've found for Windows (esp. Notepad++, which is often recommended) are even more "broken" than Sublime Text 2 (which I find to be pretty good, actually).
On Mac, I use TextWrangler which is free, stable, and great. I have no idea how you intend to find a text editor that'll actually on Mac, Windows and Android (the first two I understand... the latter, however, will naturally be a completely different product).
Both UltraEdit and TextWrangler have been around for a long time and have had most of their kinks and quirks worked out. They're reliable products and can be trusted to simply handle whatever you throw at them, in my experience.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
I want to write an app for facebook. Googling suggest me that the best language and technology will PHP. But the thing is I have never develop anything on PHP.
My Question is which PHP version I should. Which IDE, where to start web development and where to start facebook API
Start with php 5.3. You should either get a book on PHP, or read the online documentation at http://php.net/
If you already know how to program in some language, then PHP's not too hard. You can get documentation for any function using http://php.net/function-name
As far as IDEs go, use whatever you're comfortable with. PHP doesn't care. I personally just use gvim to write my code and view it using apache+firefox.
which PHP version
This is usually dictated by whatever PHP version your host provides - if you're shopping around, or have direct choice, go for the latest version. If you want to build a portable app, you may need to look into supporting multiple versions (4 and 5) although 4 is fairly out-dated at this stage - many apps have dropped support.
Short answer: 5.3
IDE is entirely personal - what do you currently use? I don't personally use one - just a text-editor and a local (XAMPP) server.
I recommend you to start with basics.
Install the XAMPP webserver package on your local machine. Its easy and you don't need to config php, apache etc. Its everything done by default.
http://www.apachefriends.org/de/xampp.html
Then I would try first tutorials to write functions, classes, etc. Handle with variables.
Introduction: http://tut.php-quake.net/en/
Reference: http://php.net/
As an IDE there is just eclipse (for me). But if you never had worked with eclipse, it could be an overflow for you. Too many things yo don't need in the beginning.
http://www.eclipse.org/downloads/packages/eclipse-php-developers/heliosr
It has a good code completion and syntax highlighting.
Afterwards you can begin with Facebook Samples. Best thing: Download, modify, try, again.
http://developers.facebook.com/docs/guides/web
Good Luck!
Which IDE:
I prefer Netbeans; Eclipse is alright too.
Where to start:
http://developers.facebook.com/docs/
You should get a LAMP/WAMP package and set up a server on your machine to play around with PHP first. I personally use the Uniform Server; it's lightweight and requires nearly no set up.
I really want to point, that you can get lots and lots of information about PHP and it's functions on official site - http://php.net/
This is the number one place for me if I cannot get something to work or need to see syntax for some rarely used functions. And yeah, all my PHP knowledge comes from php.net function references and manuals, so... I'll say: consider buying a book only then if php.net gave you nothing, what I doubt.
Oh, yeah, forgot before... I've heard lots of good feedback from beginners after they've read http://devzone.zend.com/article/627 (PHP For the Absolute Beginner) !
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
How does Eclipse PDT compare to NetBeans for PHP development?
I just bought a new computer with Windows 7 and I'm starting to set up a development environment for PHP. Has anyone used both IDEs lately and could make a quick comparison? If you know what major frameworks are supported, that would be great too.
Yes, I switched from Eclipse to Netbeans for PHP development quite recently. And I have to admit - I like NetBeans better. It seems to me more lightweight and stable. It certainly loads faster. And code completion seems to be much better than in Eclipse - it doesn't fail so often, and you can insert hint-comments wherever you wish to specify the types of your variables. Also NetBeans IDE is much simpler than Eclipse. It's probably not as powerful (and it could definately use a few more configuration options), but on the other hand, Eclipse was downright intimidating with its complex system.
Put it this way - if you come from a Windows background (like me), go for NetBeans. If you're a Linux/Unix fan, you'll feel right at home with Eclipse.
I switched to NetBeans after version 7.0 has been released. It's faster, more lightweight and code completion is better. Its easier to configure and looks like everithing just works, in Eclipse you need to deal with complex configuration, and I wanted to focus on coding. But they are both good.
I compared them, you can read more on http://dev.umpirsky.com/eclipse-vs-netbeans-for-php-development/
Eclipse PHP (PDT) does not come with a working debugger out-of-the-box. You have to download and install at least 2 or 3 other fussy open-source components to make that work. I've never tried NetBeans, but, if you need debugging (stepping through code) and you don't have several days to work through the environment setup hell of Eclipse, that might be the way to go.
I use Eclipse first and work friendly with this .Next I use Netbeans for Java and I use it completely in java and uninstall Eclipse . Next time that I need work with PHP I use Netbeans for this goal and I understood Netbeans code completion better than Eclipse also code highlighting but build , compile,debug and run are better in Eclipse and I think Netbeans increase feature and functionality in future .
Advantage of eclipse is that I can code in PHP and perl in the same project.
I downloaded NetBeans IDE 6.9.1, just to compare against eclipse PDT 2.2.0 to edit PHP projects on CVS.
Eclipse can appear complex and difficult to setup, however, by downloading eclipse PDT all-in-one it is easiest to unzip it and start using it.
I'm surprised about how fast and light weighted NetBeans is, you can realize how fast it is immediately.
I still like eclipse on the way how it does and shows stuff, but NetBeans has a crispy design.
They both are really good options regardless of Linux or Windows OS.
Frankly - I don't know which is better or worse; I've worked with Eclipse ... it was required by the College I attend for the JAVA course -it worked great for that and I quickly understood how to manipulate the project to store "everything" related to the class, including PDF files and Word Documents.
When it comes to PHP -well, I can't seem to get XDebug to function with Eclipse. Not even sure I know why at this point. I installed NetBeans and had no problems interfacing with XDebug for PHP ... so I'm torn. There are aspects that I like about both of these applications -and things I don't like, mostly cosmetic things. Like where they write their project data -and about renaming or moving project data ... I've had a bugger of a time with Eclipse -and not as much trouble with 'Beans.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I'm beginning PHP development, and I'm looking at picking brains for ideas and best practices, and also website resrouces, such as www.w3schools.com
Yes, it has to be PHP as that's the existing website technology that's being used.
I'm using Windows, although I'll be doing development on a Virtual Machine, maybe Virtual PC or Virtual Box running Windows 2000 or XP, or maybe Vista.
I'm an experienced VB6 and SQL Server developer, so I can use SQL Server as the back-end running on my host laptop, or I can use mySQL maybe. I'm thinking using SQL Server to start with would remove one layer of complexity, and allow me to concentrate on the webserver (Apache, maybe ?) and PHP and not have to worry too much about the database, as all that will be completely natural to me.
Framework recommendations, and one or two examples of what you have used them for will be appreciated.
Source and version control frameworks, tools, utilities and add-ins would also be appreciated.
I'm going to consider writing an answer to this question myself with my experiences as I get started, almost like a 'how-to' step-by-step guide so that anyone in the future who wants to do the same thing can get going even quicker.
Thanks in advance, gurus.
Ignore frameworks to begin with. Once you have an idea about what php is/can, you can pick a framework. But don't do it as the first thing.
As for setup, I would strongly recommend that you use a standard stack. That means Apache and MySql. You can run it on Windows for development mode. The differences between Windows and *nix are rather small for most PHP applications.
For revision control you should probably use SVN, as it is the de-facto standard at the moment, and is fairly easy to use. You can download TortoiseSVN for Windows, if you don't like to use the command line.
Use PDO for database connectivity, rather than the older mysql_* functions. It's the new standard in php5. Make sure that magic-quotes are disabled, and use prepared statements/bound parameters for binding data to queries.
First thing I suggest you do is read How Is PHP Done the Right Way?
For source control, Subversion is a decent place to start.
You will need Firefox plus Firebug. Also look at What’s in your web-developer toolbox? and Free tools to speed up web development.
In regards to frameworks, start with Choosing the right PHP framework.
You probably should consider Javascript frameworks too, in which case start with JavaScript frameworks and CSS frameworks: JQuery, YUI, neither, or something else? and Which Javascript framework (jQuery vs Dojo vs … )?
I've used PHP extensively on the WISP (Windows, IIS, SQLServer, PHP) stack. It's a little unusual as the vast majority of PHP use is on LAMP, but personally I've found it to be rock solid.
If an MVC framework is not absolutely essential for you I would highly recommend the Tiny But Strong template system. I've used Smarty and various other PHP templating systems, but TBS wins hands down for me as it's very tight, clean and above all works with WYSIWYG page design programs such as Dreamweaver.
A huge plus is that PHP itself is very well documented. It's once you start using other people's code that things begin to get hairy.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
I'm a Engineering student and I'm attending a Database and Information Systems class this semester. It's required that I produce a website/application that uses a database, using PHP/PGSQL. My questions are:
which IDE would you recommend?
does anyone have good tips and advices for a new developer?
it would help me (a lot) to develop this project attending some more "academic" aspects of the subject, such as the Entity/Association Model, etc. Are there any good tools to help structure my work?
Thanks!
EDIT: A few notes:
I forgot to ask one last thing, I tried installing BitNami's WAPP Stack. Does anyone know how good and/or reliable it is?
I'm actually working under Windows Vista Business (new laptop :S ). Would you recommend develloping under Linux for any specific reason?
which IDE would you recommend?
Anything that supports remote debugging. You will save yourselves hours and hours and learn so much quicker if you can actually step through your code. It always amazes me that more people don't use good debugging tools for PHP. The tools are there, not using them is crazy. FWIW I've always been a devotee of Activestate Komodo - fantastic product.
does anyone have good tips and advices for a new developer?
get test infected. It will stand you in good stead in the future, and will force you to think about design issues properly. In fact the benefits are many and the drawbacks few.
learn to refactor, and make it part of your development "rhythm".
related to this is: think ahead, but don't programme ahead. Be aware that something you are writing will probably need to be bubbled up the class hierarchy so it is available more generically, but don't actual do the bubbling up till you need it.
it would help me (a lot) to develop this project attending some more "academic" aspects of the subject, such as the Entity/Association Model, etc. Are there any good tools to help structure my work?
Learn about design patterns and apply the lessons you have learned from them. Don't programme the "PHP4" way.
I forgot to ask one last thing, I tried installing BitNami's WAPP Stack. Does anyone know how good and/or reliable it is?
No idea, but if you have the time I'd avoid a prebuilt stack like WAMPP. It's important to understand how the pieces fit together. However, if you're running on Windows, you may not have time and your energy could be better focused on writing good code than working out how to install PHP, PostgreSQL and Apache.
I'm actually working under Windows Vista Business (new laptop :S ). Would you recommend developing under Linux for any specific reason?
Yes I would. Assuming you are deploying on Linux (if you are deploying on Windows I'd be asking myself some serious questions!), then developing in the same environment is incredibly useful. I switched for that reason in 2005 and it was one of the most useful things I did development wise. However if you're a total *nix newbie and are under tight time constraints maybe stick with what you know. If you have time to try things out, you'll find it pretty easy to get up and running with a good modern Linux desktop distro and the development work will fly along.
This is probably the only time in your career when you have the full freedom to chose what tools to use, so make the best use of it. Learn some of the classic tools that will go with you a long long way.
So instead of using an IDE which you'll probably do all your professional life get a taste of using old school editors like vim/emacs. One advantage here is that the IDE will not hide all the details on getting your project to work, knowing the full technology stack is always a plus.
For any technology that you'll be using try and get a good broad perspective before diving in to the implementation details, so for PHP I would suggest getting a grasp of XHTML, CSS and Javascript including libraries like jQuery; Object Relational Mapping (Take a look at Ruby on Rails, CakePHP, Django and SQL Alchemy) and Model View Controller Frameworks on various platforms.
For PGSQL in addition to normalization try to get into the depths of information_schema and the transaction isolation levels and when they're useful.
Also important is understanding how the HTTP protocol works at a low level and how highly scalable websites can be built using HTTP.
Rather than relying on tools I would say that just create a reading list on the topics mentioned above and that would automatically structure your thought process to take into account these kind of issues.
IDE: I reccomend PSPad for its great FTP features and syntax highlighting for PHP
Tip: Go through the PHP documentation for mysql or whatever database you are using, the PHP documentation is the best tool you have for learning it.
Tip: Keep data simple, its always mutable to something else, for example, store time with unixtimestamp, since php has great functionality with the date() function to turn it into anything you want.
EDIT to add linux vs windows tips
I have developed on both Windows and Linux machines and i have both had a PHP server on Linux and Windows and for my type of developing (CMS's and Websites on those CMS's) i prefer developing on Windows and hosting on Linux. This is due to the stability of Linux and the Tools i can use reliably on Windows (Photoshop mainly)
I would recommend a plain text editor rather than an IDE. You should use one with syntax highlighting such as Notepad++.
Tips:
Use Firefox
Play around with some test databases. The biggest mistake made when teaching or learning databases is to focus on theory without actual data.
A good IDE for PHP is PDT, an Eclipse plugin.
My recommendations:
No IDE - just a basic syntax-highlighting text editor (I use jEdit)
Understand XSS and SQL injection
There are lots of good frameworks under PHP that will help
I recommend you netbeans .its free. it is available for all platforms, and mostly it is good for editing php, jsp, java, css, html, ...
Good for SVN, mercurial, Plus you can integrate it easyly with kenai.com...
it helps with the IntelliSense kind of pop up.
believe me, i'm using it for php development and its the best suited ide i can find...
IDE: Quanta+
tip: don't use a template library over a template language (PHP)
tip: MVC is a design and mentality issue, not a library
The best editors you get on windows are Notepad++ and Eclipse. both good, but can't hold a candle to Kate and Quanta+. for that alone, i'd ditch windows. Also, it's nice to have both the development and a real test environment on the same system, and even if most OSS is available on windows, they're always a square peg on a round hole.
ide: vim + (firefox+firebug)
using an ide with php, for the most part, is overkill
other tools: pgadmin3
design your tables so they are easy to query
if you have an extra box, i would put linux on it if you want to try it out. Ubuntu is a good started distro with a simple LAMP set up process. I wouldnt do anything to that vista laptop though, because it will allow you to test in IE and firefox.
Have you looked at Delphi for PHP (<http://www.codegear.com/products/delphi/php>) ?
Joe Stagner of Microsoft really likes Delphi for PHP.
He says it here: "[Delphi for PHP] 2.0 is the REAL DEAL and I LOVE IT !"