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
Related
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 7 years ago.
Improve this question
This is part observation, part question.
First the observation:
While everyone talks of modular programming, OOP, procedural done right, aspect oriented, design patterns, etc., several popular opensource PHP apps are plain script files with the structure being controlled by includes and requires.
This looked stupid to me till I faced a recent issue with my shared web host - they don't support MySQL stored procedures on shared hosting. I checked out many competing shared hosting packages - same story.
Then I rewrote the code using SQL queries and some static functions in DB-handling class.
That was when I realised that the said PHP projects actually take into account the whole spectrum of web hosting packages and so decide to keep the code as dumb as possible, so as to reach a wider user base.
The other thing is the reach of the script to newbies without a formal Software Engg background: Scripts are easier to hack for newbies.
Those two were the good reasons I saw to explain the phenomenon.
Make no mistake, the guys maintaining these projects are pretty good at software development, so it is not incompetence.
Sometimes they have spare cash too.
Now the question: What other sensible reasons can you think of?
EDIT: I personally feel that it's not about OOP alone, as pointed out by others, good code structure is not dependent on OOP/Procedural style. I've seen and coded a few functions-based PHP projects myself.
The thing that bothers me most is that the folder/filesystem layout is good, the file/folder naming is great, documentation is plenty, standards are followed, but, when you open the file to read the code, there's a hundred if-then-else conditions, version-checking, odd use of output buffering here and there, cookie manipulation code, some constants, includes, and no clear structure in many files.
At least I seem to be lost every time I try reading the code. But if I read code from Java or C# code bases, or even some other sidelined PHP apps - there is proper separation of code inside functions, templating is used for display and so on. Looks organised. Looks easily understandable.
Backward compatibility could be the issue for maintainers, but they would be open to making the next version in a more structured way. But that too does not happen!
Obviously, I'm missing something because those maintainers always work hard, after all.
Provider compatibility is an issue in many areas when building applications with PHP, it's not the reason why OOP is not used in certain projects.
Several Object Oriented Programming characteristics like interfaces, the public/private/protected keywords and more can be only found in PHP 5. Some applications still support PHP 4, mainly for the reason that there are still providers out there who won't upgrade (out of the justified fear that their clients' PHP 4 apps will crash by the dozen). Therefore, there is still a lot of "primitive" PHP 4 OOP code around. But there is no living PHP version that does not support at least basic OOP.
include and require are used to import code snippets into the current script. You will find them in object oriented applications as well.
There are several software products that make almost no use of OOP at all, and that's fine as long as the overall code quality is in order. While it is regarded by many (myself included) as a important method to write better, more reusable software, OOP is no requirement to write good software.
i see 3 main reasons:
compatibility: PHP did not include OOP from start on. to be down-compatible with older PHP environments and to reach a wider audience, you're keeping the status quo.
effort-switch: switching/refactoring a codebase fron non-OOP to OOP is a lot(!!) of work, transformation script in my view aren't a solution, because they tend to generate code for machines and not for humans. this is OK from runtime aspect but horrible for maintenance.
team-culture: i talked to some PHP developers, some just don't want to make the switch, because they say everything is good and working...
One of the biggest barriers to going all OOP with PHP is that everything has to be reloaded, initialized and executed on every page hit. If you designed a PHP system that was truly object oriented, across the board, performance would probably be abysmal. There would just be a lot of files and objects to load and configure to get things going. Everything has to be loaded and ready to go within a second (ideally much less).
Compare that to say a Java based system where it doesn't really matter if it takes 10 minutes to get the system started. Once it's started, everything is loaded and ready to go.
WordPress is probably a good example of how slow things can get when creating a modular system with lots of files. Much less a modular OOP system. Load testing a straight WordPress install will get you about 10-15 pages/sec with a simple "Hello World" page. Compare that to being able to get well over a hundred pages/sec with a straight "Hello World" php script.
You can work around these issues with caching, which WordPress, Symfony and other systems do.
Unless you use an MVC framework with PHP, Such object oriented approach (like ASP .NET has) would take too much time of yours. Actually you will need to design your own framework first.
I cannot say using a true object oriented approach in php is not possible. You can take objects whereever you want and serialize to strore them in session etc...
When it comes to MVC frameworks in PHP, you can see a true object oriented approach.
Check here for Zend Framework example
Zend Framework is not the only one.
But the words "object oriented" are new for PHP. Only PHP5 is considered as having true OOP. So you have to wait 1-2 years more for having good scripts with true object oriented approach.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 3 years ago.
Improve this question
I'm starting to learn about Flex/Flash and come from a PHP background. It seems that ColdFusion has been the language of choice for Flash/Flex backend. But (the big but for me) I don't plan to build websites that will heavily depend on Flash (for SEO etc.), just websites that will incorporate Flash in small parts of them. I'm thinking for this reason, I'm not going to gain any advantage switching my backend work from PHP to ColdFusion. Since I'm new to the technologies, I'm not sure if that's the right thinking though. Can someone help out comparing PHP vs. ColdFusion (which I'm assuming is Adobe's favorite backend language)? in the context of what I said above would be helpful too. Am I going to be losing a lot of libraries, functionality, convenience, etc. by not doing my backend stuff in ColdFusion.
FWIW. Flash Remoting (AMF) in ColdFusion is much faster than the PHP alternatives. On the magnitude of 40x faster! If performance matters, then ColdFusion is really the only choice.
I have used both CF and PHP for a similar purpose: to execute database queries in the backend from a flash movie front end. These flash movies were, similar to your situation, more or less standalone, not heavily integrated into the website
I found that there is not much that you can acheive with CF that you can with PHP. Database operations are a tad easier to accomplish in CF than PHP, and that's about it. However, if your SQL skills aren't too shabby, this is not much of an issue.
IMHO, your needs are better suited by PHP because it's free, and you can get a WAMP or LAMP rig easily set up as your sandbox. If you just want a sandbox for CF, you either have to pay the sticker price* for the official Adobe software, or get vastly inferior imitations available, such as Railo Server.
Do note that for me, I was able to accomplish database operations on the backend using WAMP/LAMP and Adobe CF, but not with Railo, so that greatly limits your sandboxing experiments with CF. This was 9 months ago though, so you may want to check if Railo has improved since.
As for libraries, there are many more out there available for PHP than CF, due to a much larger developer community. Evidence from Google:
PHP : 15 million hits
CF : 0.5 million hits
In summary: go with PHP.
HTH
Edit:
As mentioned by Al, CF developer's edition is free.
I as well as many others wrote a length answers to ColdFusion Vs PHP which may provide a greater language comparison.
If you only doing small tasks you can stick with HTTP and XML data transfer on the flash side. Unless your moving a lot of data you won't see a great benefit from the AMF ( Adobe Messaging Format ). If you need such binary data transfer PHPAMF is available as is Adobe's open source BlazeDS which comes with ColdFusion and is available separately.
I personally feel you should stick with what ever tool is more comfortable to you. But don't be confused by those who treat ColdFusion as inferior. ColdFusion is a java application as such if you can pull in any and all of the vast java libraries available. Java has more libraries than ANY language even the coveted PHP. Also for development Adobe's ColdFusion is free and well as Railo's Open source offering which bundles with Blaze DS the same open source Java/AMF server that ColdFusion 9 comes with. I personally use Railo and BlazeDs with great success as free open source CFML options.
A few thoughts on the matter, from someone who has developed in both PHP and ColdFusion
ColdFusion has better OO support than PHP5 (or maybe I'm just doing PHP5 OO wrong)
ColdFusion works better with a wide variety of other technologies (Flash/AMF, Databases, LDAP, .NET, Outlook, SMS, SOAP, JSON etc..) out of the box with no addons.
PHP has a smaller memory footprint
PHP is more easily available from shared hosting providers
Having said all of that, if you're looking at building small addons to your website using Flash/Flex there's no reason why you should feel obligated to learn a new language, and redo the rest of your site into CF. PHP will work fine. If you're solely a PHP developer, and you've already got experience with PHP, it might be worthwhile to pick up CFML as a side language, just to open up contracting opportunities, and broaden your horizons, but it's probably not worth it if you're just trying to get this project done quickly, and "the right way"
I'd just like to add another vote for the "Stick with PHP" bandwagon (from an active Coldfusion developer):
PHP is free and has great resources and a good community.
Coldfusion has an ever-decreasing community.
Syntax wise, Coldfusion is an eyesore.
Although Adobe makes both Coldfusion and Flash/Flex, I've found that the advantages to using Coldfusion over PHP for Flash/Flex support are minimal.
As bguiz said, Coldfusion has better support for databases. Specifically, switching from one database to another is easy and painfree. However, once again, the advantages over PHP are minimal.
PHP has full OO support, and support for closures and other helpful functionality.
Learning PHP and using PHP will help you in the future. Learning Coldfusion will (more than likely) make you regret learning Coldfusion.
To me, they are both viable, good options. This isn't necessarily an easy choice, as each language has it's own strengths and weaknesses. Having used both extensively, however, I have to give PHP the edge.
IMO, based on what you're saying (the projects your working on integrating flash and flex with right now only make use of these technologies in small and limited scopes), you'd be insane to switch to CF. That's far too much misery and grief for next to no gain.
That being said, if you ever intend on broadening your scope of usage with these products, you should at the very least concurrently pick up some CF knowledge. If either of these technologies are going to be a significant part of your future development plans, you'll need a knowledge of Coldfusion to determine if switching to Coldfusion is going to provide you with significant ease-of-integration and/or performance benefits.
Unfortunately, there isn't a good online source that can hand-hold you while you learn Coldfusion (like the hundreds that exist for PHP); But finding a Volume 1 for the Coldfusion Web Application Construction Kit (WACK) for either 7 or 8 can give you a good foundation to build on (while I don't know about the CF7 WACK, the Flash and Flex integration are covered in depth in Volume 2 of CF8's WACK; but you'll still need to understand the basics before reviewing that).
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 3 years ago.
Improve this question
I am relatively new to the Web Development business. Me and 2 friends started up our own little company. 1 person is a designer, 1 person is sales / consultant, and I am the developer. Right now, its an after work project, but we hope to expand and let it become our full time jobs.
Anyway, my question to you, is what is the best way to go about a full web development project cycle.
List of things to discuss:
Proposals - do you guys find these important
Project Planning - how much planning and mapping out should there be?
Project Management Software - I did a
little research before and I like the
online portals. Parallels stood out
for me.
Editor tools - I have been using the
most basic editor Notepad++. I feel
like I should be using something more
advanced.
PHP Framework - I just got hooked on
CodeIgniter.
Ways to deploy site - right now I am
doing most of my editing via FTP to
the live site. Should I be working
on a local copy and then uploading to
a test site for the client? Then
eventually go to the live server.
Are there ways to automate this?
(best practice ?)
I cant wait to hear all your input, especially from folks who are veterans at it!
Proposals
This really depends on what sort of clientele you are looking at. It probably will not be necessary at the beginning of your company since you will be dealing with small to medium clients, but its not bad to get into the habit. When I did a bit of freelance web development, I did not work on a proposal-based system. Instead, I did more of a site mockup->changes->implementation system. I suppose a mockup is a form of a proposal...
Project Planning
Again, this depends on the size of the project. If you're working on a static 20-odd page website, you probably do not want to get too much into the planning aspect. However, if you are working with a site that pulls into a large number of technologies (forums, CMS, AJAX, web-services, etc.) you probably want to invest a little more beforehand.
Project Management Software
Cannot say I have ever used a project management tool during my days as a freelance web developer. I'd say don't invest in anything right now. Once your company grows, you'll have a better idea of what your requirements are.
Editor tools
Notepad++ may cut it now, but I wouldn't recommend it in the long-run. If you are looking at technologies other than PHP, I'd definitely not recommend it. In fact, if you are looking at a clientele that's more "business-user" esque you need to think about getting into ASP.NET or J2EE. I would suggest getting a PHP IDE that at least has code completion, as this can help eradicate a ton of PHP bugs. I'm not sure if Notepad++ has this. You also probably want to get a debugger that integrates into your IDE. I know Eclipse had a PHP IDE a few years back, but I'm not sure how good that is these days.
PHP Framework
Never really used any PHP frameworks but that's because I graduated and got a job before I had time to teach myself any of them. :) Go with whatever fits. You probably want to get used to more than one since some projects will fit better with some frameworks.
Ways to deploy site
Defintely, definitely get a local server set-up. You can get a WAMP/LAMP installation set up really easily on your dev machine. As others have said, you probably want to use source control because of Murphy's Law. Personally, I've been using wampServer the last few years as I haven't really been developing that much PHP and that allows me to get a working environment up really quickly. But you may wish to customize your devenv further. But you should definitely test your applications on a dummy server with a dummy database before deploying it to a live server with a real database!
Hope this helps!
Impossible to answer this fully in a single post here, but I'll give you some punchlines:
Proposals - do you guys find these important
Not sure what you mean by that? Sales proposals?
Project Planning - how much planning and mapping out should there be?
Don't spend too much time planning up front - it'll lose its value once you get further down the line. Do plan enough though. Usecases and some interface sketches/wireframes are good value.
Project Management Software - I did a little research before and I like the online portals. Parallels stood out for me.
You'll never find a golden bullet here. Use as little/simple as possible and always go for something with a clear exit route. Less is more. Also, keep in mind that this kind of tool needs to work for very different types of people, at the same time. The tool supports a process though, so keep that in mind - don't let the process be defined by the tool.
Editor tools - I have been using the most basic editor Notepad++. I feel like I should be using something more advanced.
Use what works for you. A good tool is nothing, unless you know how to use it. Likewise, if you know a simple tool well, you can get very far.
PHP Framework - I just got hooked on CodeIgniter.
The exact same applies as with editors.
Ways to deploy site - right now I am doing most of my editing via FTP to the live site. Should I be working on a local copy and then uploading to a test site for the client? Then eventually go to the live server. Are there ways to automate this? (best practice ?)
This should be high priority to change. At the very least, get your source code in a SCM - Subversion is the most mainstream, so I would suggest to use that. Second, get a separate development environment and production site. You develop at your dev setup, and when it's done, you deploy to the live site.
Next step is to look in to testing and automated deployment (google for that). But first things first - Get used to SCM and a separate dev/prod setup.
Finally, if you haven't read it already, Getting Real might be worth your time.
Proposals - Why not. Just don't overdo it. Don't let it become like this big corporate wall between you and your clients. You're small, be personal. That's your strength.
Project Planning - There's three of you? Skip project planning software.
Editor tools - If there's a specific function that Notepad++ doesn't have that you need, then switch editor. But don't switch just to feel more advanced.
PHP Framework - Keep an open mind and use what ever you get hooked on.
Ways to deploy site - Always work against a dev box. Some have test boxes with real-world data to test updates before deploying to the production box. Always version control your code. Whatever tool or method you use to deploy (really a matter of taste) keep a simple checklist with steps to go trough when deploying, and keep it up to date. Do automatic regular backups of your production box and actually do a reset and restore on a test box every now and then, and write down the steps needed to restore from backup.
As an editor, I strongly recommend jEdit. It's cross-platform, speaks many programming languages, has lots of plugins for extended functionality, macro record/save/playback, is actively maintained, and is very configurable.
For deployment, Subversion makes a lot of problems go away. For web development, I typically have two branches; devel and live. All changes are done in devel. When you're ready to publish the changes, a single svn merge operation applies the same changes to the live branch.
Subversion has hooks in its infrastructure to call scripts when certain events happen, like checking in software. A post-commit hook can automatically transfer (scp, ftp, unison, etc) the files onto either the devel server or the live server, depending on which branch the changes were. Now you have nearly immediate and automatic website updates whenever changes are checked it.
Another nice thing about Subversion is that it can hook into Apache to provide a WebDAV interface, so you can change files from anywhere without opening up Subversion itself through your firewall. If you need to make a quickie change from your day job, you can.
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 !"