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) !
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 5 years ago.
Improve this question
For a website I need a forum and I'm looking for code written in classic ASP. I know about phpBB and Simple Machines, but that's written in PHP.
I'm used to use (classic) ASP for websites, because I think ASP.NET is to much overkill for simple websites. Or should I definitely switch to PHP? I'm thinking about doing that for some time.
Suggestions?
(So 2 questions)
There is only one that is good, Snitz.
(I would seriously consider moving to .NET though if you want to stay on the MS platform)
I always use Classic ASP, it works beautifully. I tried ASP.net but it was too complex for most website development. ASP.NET keeps changing and require enormous learning curve to keep current. MS switched languages to C# which makes the transition just that much harder.
PHP has an ugly syntax and too many different frameworks which makes it impossible to learn for developer purposes. Good only for intranet applications in my opinion.
Classic ASP is locked down and works perfectly today just as it did years ago. With a few library files, code writing is easy as pie and examples are unlimited on the internet.
Snitz forum is good and so is web wiz forums.
others here
http://www.codango.com/asp/fnc/search/?tree=aspin/software&pg=1&order=desc&qry=forum&cat=all
Stick with Classic ASP if you understand it. It is more rubust, more versatile and will run on any server running IIS. And it can be edited easily and at any time using Notepad or Sharepoint Designer.
I use Classic ASP because I can create much more sophisticated web applications than anyone can using other languages. For forum software it depends on the features that you need. After using or trying most of them I prefer to roll my own.
Classic ASP is getting old and has problems in terms of scalability. I spent over a year converting classic ASP to ASP.NET for a high usage site because we could not get classic ASP to scale.
I know it is hard to change from what you know, but in the world of software - change is a constant. Going to PHP will save allot of problems in the future - it happened with FoxPro where Microsoft just stopped supporting it. So take the step to learn something new.
PHP is open source and still easy to write. It has a wonderful manual online so there is no direct cost in learning. Plus, you can write code directly on the page just like classic ASP, although modern development practices frown upon that.
PHP manual: http://www.php.net/docs.php
Plus you can always ask for help on SO.
Asp.Net is a very powerful language and isn't too different that Asp. It did take a little bit of extra learning, but it was well worth it. was in very much the same boat as you are and can not stand how the WYSIWYG editors reformat all of the HTML. I've spent a very large part of my life using Notepad for all of my programming needs.
I have been using Visual Studio 2008 for my Asp.Net sites since it came out. I do not use the WYSIWYG mode, but rather always view the Source. This allows me to utilize the color coding of the code, provides access to IntelliSense and enables easy formatting. You can quickly comment or uncomment large sections of code, indent large sections instantaniously and pull up help files with the touch of a button. Using the Source Mode only, I have been able to maintain a very clean and usable set of Html, with all of the benefits of the WYSIWYG editors.
Using VS2008 or VS2010, it is not necessary to have any project files or DLLs that you manage, unless you are creating custom DLLs. Your custom controls can be written and accessed through Notepad, without the need to recompile. Personally, I usually open the Website via FTP Server and manage it from there. This does not require FrontPage extensions, but also does not require the separate development Server for using and editing offline.
The Config files are a necessary part of IIS and can be very beneficial. Fortunately, the Web.Config file is used primarily to store the configuration for your specific information such as your Database Providers, Membership Providers and security restrictions. A majority of the Config file is stored in Machine.Config and allows you to minimize the amount of information in it.
As I said, I have spent many years using Notepad and FTP to edit and manage websites. A large problem was always ensuring that the files are continually synchronized and you don't accidentally overwrite the newer files with older ones. Using VS in FTP mode takes care of this for you. Your local files are time stamped and if there is a conflict, VS will ask which edition should be used. Check it out. I think you'll find VS very beneficial.
Asp.Net is also used for the Ajax Control Toolkit, which is essentially an add-on of controls for web development. You can get more information on them at www.asp.net/ajax. They are very powerful and open source. For the bulk of us, you can use the pre-compiled Dll, which is a single file, and upload that to your Bin Folder. Short of that, all you need to do is properly reference the resource in your page and they are usable. It's a very simple process, but can save hours of writing JavaScript and client-scripted controls.
I hope this helps you out.
Scott
I've used WebWizGuide.com in the past, by far the best, still actively supported, free to use (or a paid version is offered.)
The guy Bruce who runs it is extremely dedicated and passionate, and the code behind it is some of the highest quality I have ever seen, and that software which I used to write plugins for is how I got into coding in the first place!
I would definatly recommend this to you.
I recommend you to jump to ASP.net, especially ASP.net MVC (IMO a bright spot in the MS portfolio), but if you want to start with something more simple, more similar to ASP Classic, you can jump to Microsoft WebMatrix
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.
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 8 years ago.
Improve this question
I am looking for RAD like environment for PHP and/or Python free or not does not matter.
It should have a visual environment where one can use a point and click interface so that it is possible to select objects with mouse and move them around.
I have looked at Delphi4PHP. The RAD part is fantastic, but I don't like the framework on which it is based VCL4PHP (vcl4php.sourceforge.net) is crappy. Just to deploy a simple Hello world application we will have to deploy 40MB of that framework. That is just stupid.....
I looked at Eclipse but it is only a code IDE. Does not have a visual way of designing a page/window. Did I miss any plugin that supports this feature?
I was suggested to give NetBeans IDE a close look so I also looked that up, but did not find what I wanted.
I have also looked up following but none of these are true RAD:
NuSphere PHPEd
VS PHP for Visual Studio
PHP Designer (not a designer by any means just a plain old IDE)
I have not been able to find any descent Python RAD tool also.
I have looked up Yes Software's Code Charge Studio (www.yessoftware.com) but it cannot be used to develop complicated applications like say for example an Accounting System or an Inventory Management App, etc.. It is useful but for very simple apps. Making changes to Visual part (referred as components by this people) is a nightmare. Finally it does not support Python.
Python and PHP both have a binding for GTK :
PyGTK for Python;
PHP GTK for PHP;
You can use Glade as a RADD to draw a GTK app.
GTK runs on Windows, Linux and Mac OS.
If you are looking for something embedding everything, I can think of SPE for Python, but you really can run Glade as stand alone.
Since any picture is worth 1000 words :
I let the PHP lovers choosing their language equivalent.
I just remenbered some more tools that might be useful to you, besides WebDev:
PHPMaker
WaveMaker
For Python I'm gonna try the DialogBlocks later this evening.
for python try BoaConstructor if you come delphi background its a good start.
TurboPHP, and it's now open source project.
Also wxPython has GUI Builder.
Delphi4PHP is the only I know of, back in the old days I also used Macromedia (now Adobe) Dreamweaver to generate some code, and if you set up a live site it kinda acts like a RAD IDE. Kinda.
For Python, I asked a similar question a couple of hours ago, I'm also interested in knowing such tool.
There also webdev. It can generate PHP.
Wingware looks like a pretty decent Python IDE
I think Morfik is a RAD tool pretty much like what you're looking for. The language you program in is not PHP or Python, though. It uses ObjectPascal, c#, or Basic:
http://www.morfik.com
I don't think Yogi is a PITA. He is discerning and this is very helpful. Since none of these tools quite hit the mark for him when one does it will be the right one and then all of us will benefit from his studied decision.
You should really check out Vs.php Vs.php it is visual studio (standalone) or a visual studio plugin. Now if someone would do the same for xcode...
Let me elaborate on CodeCharge Studio. I think you still can consider this system.
Personally, I've been using it to develop very complex high-load data-base driven CRM applications, with 4.x version it even generates AJAX-based code and autocomplete, ajax-form submittion are piece of cake.
With CCS you will need sometimes some tuning, but the tricks are pretty much typical. So, CodeCharge Studio is still a choice for complex applications too.
Since you mentioned Delphi, you can try ExtPascal - http://code.google.com/p/extpascal/ . There is a 3rd party designer support for this framework(Delphi and Lazarus).
I found an IDE which will allow user to visually build Python based apps. The IDE is open souce and is from Japan.
Check it out!
link text
And
link text
I have to say that I have not used it. I just discovered it!
I am still searching for a good IDE for PHP which will allow me to build GUI visually.
Hope this helps others.
The good news is that you won't miss it as soon as you familiarize yourself with a way of work when the responsibilities are shared.
Think it over: really the programmer is the right person to assemble the user interface? I think not even in case of a desktop application.
Programmer should write good code, separated display logic, and let all the presentation things to
information architects
user interface/experience specialists
here comes you, to write the code
graphic designers
sitebuilders
The -not so bad- news is that, there is no such tool for PHP and Python.
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 !"