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 want to see if any of you know a (free and open source will be ideal) tool/ app that can help build a php web application very quickly without investing too much time on writing codes, preferring drag and drop/ point and click work-flow designer for logic design (see Agile from Outsystems below). Plus, visual designer for the business logic is great since it can help a developer visualize the logic better.
There are a lot of GUI builders, form builders out there, but I am looking for one app for the entire web application development process.
My goal is to find an application that a team of developers can use together and use the build-in code of the app as much as possible. E.g. the app will provide a modular just for handle user login or a shopping cart; a developer just need to drag and drop the modular to the logic designer and the code will be generated. This way the functionality will be in a module and code will always be standard across developers. So if a new developer get on-board, he will just need to use the system and get up and running quickly.
To explain this better: there is a lot php frameworks, e.g. cakephp, CodeIgniter, etc which I can use to help coding, but still I need to create (code) the GUI, writing quite a bit of codes. I am looking for a tool/ app that is a little more high level than those frameworks. Here is 2 examples apps I found during my google search which they have visual logic designer and gui builder in one single app. Also a single click deployment (but I need it to be php apps or at least I can deploy the (php) code to a LAMP/ WAMP server):
Wavemaker: for JAVA
Agile from Outsystems: for JAVA or .net (This one is really good, with work-flow drag and drop logic designer!)
Talend: it is just an ETL tool, but the concept is what I want to bring up. Drag and drop, point and click logic design. Custom code can be added if it is needed, but the drag and drop process already finished the structure and most of the coding of the web app one needs to build.
I want to list Adobe Flex, but it is more like a GUI designer + IDE, not exactly what I want to describe here. The drag and drop/ work-flow logic designer is a key for the app.
I could go for the CMS route by learning how to extend them, but it is not that flexible for me and is a long learning curve.
Anybody came across this type of app before? Or any idea of how can I find those apps? I googled them for long time, I don't see any of them for php and just few (just 2) for Java.
Thanks in advance!
Here are some free PHP RAD tools:
AppFlower
AppGini
nuBuilder
Limbas
CrossUI
You can extend this list if you know more.
I am just trying out RADRIA, which you can check out at http://radria.sqlfusion.com/
Open source, free rad tool that runs on LAMP server and includes tools for creating both web pages and online linked databases with add and update screens. At first glance, appears to require some knowledge of SQL to install some database features. A low-budget Wavemaker.
My experience is that there is an eternal trade-off in software: the more it will do, the more difficult it is to learn. Because Radria will do a lot, it presents the user with a forest of menus.
Delphi for PHP seems to fit almost all your needs, but it's not free.
You can try PHPRad. Just connect to your database(MySQL) then it can generate complete application.
It uses simple powerful MVC framework.
You can drag and drop components like:
charts
record counts
Dynamic Menus
Sub-page
etc ...
onto any page.
it has flexible numerous options that helps you generate your applications that best suit your specifications.
You can download the window setup from here.
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 last year.
Improve this question
Ok, magento is new to me, and in fact ecommerce site development itself is new.
Magento seems to be extremely difficult to get to grips with - I have spent 3 days now going round I'm circles trying to create a custom theme and modules.
The documentation is poor, the code and structure appears obfuscated - when will it get easier?!
Are there any specific tips or advice that you can offer for learning magento properly ?
For any other developers out there - how long (full time development) did it take to start to make sense of magento and to get things done quickly?
AS Phliplip said, have a understanding of the MVC pattern and the way Zend Framework implements those. Especially the Controller part, Model and View are handled differently.
Make sure you use a descent editor (e.g. eclipse+pdt) which allows you to click at any function and it will show you the source as well as setting up xDebug so you can travel though some code while its running and see the values of the variables.
Magento gets controlled by many config.xml files in each module which get merged to one big xml. So you need to understand how you setup a module and what Mage::getModule('yourmodul/xx_yyy') does.
as well es Mage::getResourceModule(), Mage::helper(), Mage::getBlock()
Make sure you are 100% familiar with the class Varien_Object,... and become a fan of it :)
Try to understand the Magento Collection class which basicly wraps any mysql query returning more then one result
Get familiar with a the database eav model
When you are planning on altering the database,... you should make sure you understand the magento installer.
There is lot more....
it took me I don't know 6 month to get a good understanding of it...
The first step towards getting anything done in Magento is to read the Magento Design Guide.
Once you are familiar with the XML/Block system, you can make changes to the design portion very easily. Once you're comfortable with that, you're going to want to take a look at every folder in your base Magento install. Each folder has a purpose, and having an understanding of what each one's function within Magento will help you when you decide to start making modules.
Alan Storm has a great tutorial for your first module here. I'd read that carefully and get the books that he suggested; they are great resources.
Finally, start tracing functions through the code. I basically have grep -R available at all times to find out where methods are defined so I can better understand what their capabilities are. Because of the size of Magento, sometimes that's the best way to find answers.
Good luck!
Magento is build upon Zend Framework. I think basic knowledge of ZF will get you af good head start.
Try have a look at 'ZendFramework in Action'. That's where i started with ZF.
ZFiA will probably give you a good insight into the MVC-pattern and directory-structure of ZF. This you should be able to project onto Magento.
And i'm currently working on 2 ZF projects. I have yet to do a Magento shop, but it's in the commings.
Played around with Magento, right after the release. And must say that there were lots problems just to get it to install and to perform good. So haven't been playing with it since. It's my impression that it's evolved since then, and the performance issues should be ironned out. Still not an application you should run on a 1-buck shared hosting.
Magento can be a challenging platform to learn, but with the right tips, it can be a breeze. Here are some of the best tips for mastering Magento:
Start with the basics. Make sure you have a strong understanding of the fundamentals before moving on to more complicated concepts.
Use online resources. There are plenty of helpful tutorials and videos available online that can guide you through the learning process step by step.
Practice, practice, practice! The more you Mmcgbl work with Magento, the easier it will become to use and understand.
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
Can anyone recommend a good, visually attractive PHP framework or application to rapidly create back office / admin interfaces to MySQL based applications.
I generally have to build bespoke back office UIs for every PHP web based application I write and wondered if there is an easier way of quickly building a web front-end to MySQL data.
Update
Just to be clear I'm not looking for a framework to write code per say or an IDE, I'm looking for something to rapidly build rich graphical web interfaces.
I'm looking for something to rapidly build rich graphical web interfaces.
The thing is, in order to have a rich UI in the browser, you either need third party plugins like Flash or Silverlight or use the traditional combination of HTML, CSS and a whole lot of JavaScript, because that is how the behavior and Ajax capabilities get into the UI components of a RIA. A serverside framework capable of creating a rich UI would have to know how to create all this. Frameworks like this do exist (GWT comes to mind), but there is no dedicated framework for this in the PHP world (at least not to my knowledge).
The notable PHP frameworks all offer rapid application development out of the box. Some of them, like Cake, Symfony and ZF (don't know about CI) even offer make-like tools to create controllers, models and view scripts through code generation, speeding up development time even more. Feature-wise, there is very little you will miss in any of them. However, none of them give you rich UIs like that of ExtJS, Dojo or jQueryUI (to name some JS framewoks) out of the box.
The three closest things to what you are looking for would be to
use the available PHP wrappers for Ext.direct or
Zend Framework's Dojo components or
Zend Framework with Flex/AMF.
In addition, there is frameworks like PRADO which use their own templating language to create rich components or framework that use XUL to use the browser's native UI components. I'd categorize them as, well.. not so common.
I'm not sure if you are talking about an IDE (programming application), or a PHP framework.
If you are talking about IDEs, Zend (http://zend.com) or Eclipse (//http://www.eclipse.org/) are the two major IDEs out there. Zend has its own framework and Eclipse allows you to use whatever framework you choose. There is also, Aptana (http://aptana.org) and Adobe's Dreamweaver.
As for PHP frameworks, Zend has its own, but there are also CodeIgniter (http://www.codeigniter.com) and CakePHP (http://www.cakephp.org). I prefer codeigniter because its more efficient and its documentation is amazing. Although CakePHP has its benefits as well, especially for rapid database development.
I think codeigniter is a good choice. Cakephp has very ambiguous documentation...
Embarcadero's Delphi For PHP is quite good. It uses the VCL For PHP framework, and provides an easy-to-use, drag-and-drop interface for creating the web applications.
A different approach to the other answers. You asked for framework or application.
PHPMaker is an application that rapidly generates a complete web application frontend for a database. You configure the options you want, it generates the PHP code.
While you can edit the generated PHP and templates, this is more about creating a web app through configuration rather than coding.
I've used it a lot for rapidly generating administrative interfaces which only need the general CRUD style interace.
http://www.hkvstore.com/phpmaker/
For a rich and high-level framework, you can look into Agile UI. It contains many UI components (CRUD, Form, Menu, etc) that will help you take your mind off technical details (such as HTML) and focus on the UI/business logic. Works with MySQL or other data persistences.
p.s. I'm a contributor and will be glad to help.
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 9 years ago.
Improve this question
I am going to create a new web application that is very customized.
It will contain images, that are fully searchable - in a very, very customized way.
When you click on the pictures you can add comments and so on.
It requires users to be registered, but the registration/login process will be highly customized too.
At the moment I am using CodeIgniter for this. But I've read a lot of posts about CMS like Drupal and it sounds like I could let it handle basic stuff, maybe design and other front end work.
I have no experience with CMS, in fact, I just started to use a MVC framework like CI and was impressed of how much easier it gets to start developing.
So, i wonder, if i'm going to create this kind of application, could I use drupal and then add the usual stuff, as I was going to do with CodeIgniter, like controllers, views, models, config files, my own libraries and so on?
How does it work on a system like Drupal? How do you code PHP with it as with any MVC framework. It sounds like it has a lot of modules, I just wonder, if I can use it as a MVC framework but have the benefit of having all these basic stuff and design ready to use? It sounds like the best "library" to provide for a web application from scratch.
Is it difficult to create a customized app with it? I guess it has modules like images and users, but then how could I customize these so that every image has tags on it and country information, or have every user subscribing to changes to an image, that email will be sent to users and so on?
I guess it is easy to install a module. The question is, how do I customize it. maybe I don't need all that table columns. Maybe I want to add/remove business logic.
What are the pros and cons with using Drupal for this? Is it even the right way to go?
Can you make a Stackoverflow with Drupal? Facebook? Twitter? Youtube? assuming that you know php of course.
Share your thoughts because I am totally new on creating a web application!
Thanks
I think this is a great article for everyone who has "CodeIgniter vs. Drupal" dilemma. If you are like me:
like writing CODE
want your web site/web application to do and looks EXACTLY how you want
in love with KISS philosophy (keep it small and simple)
upgrade when YOU want
Than you will take CodeIgniter path. (I'm telling you that after more than two years building Drupal websites)
Using Drupal is a fine idea -- it can take care of the mundane details like user registration, authentication, etc.
Then you extend drupal by writing a module or three.
The interaction between drupal's core and your module is going to be a pretty well-defined thing.
The internals of module can be structured however you want. You could even use an MVC framework!
I did a project once that did just that. It was a custom drupal module that internally used Zend Framework's MVC stack.
Worked like a charm.
There's definitely a learning curve for drupal in general and module development particuarly, but it's not insurmountable.
I have seen fully fledged web applications written in Drupal. Drupal is really handy for offloading the boring bits of the web application - user authentication and authorisation, comments, captcha, theming etc.
It really lets you get that head start into writing code for your application. With the stable release of Drupal 7 just around the corner, why not give it a shot?
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
Let's say you were crazy enough to want to try to combine a number of different technologies just to show that you could do so - what kind of app would lend itself to this type of project as a demo for a potential employer?
Specifically I'm thinking of combining the following technologies:
PHP/Django/Rails/Flex
Does this sound ridiculous or could it be a useful exercise/demonstration of one's abilities?
If I were an employer, I would be much more impressed if you could implement the same sample application three times:
Rails/Flex
Django/Flex
PHP/Flex
If you use ReST, then the Flex side wouldn't need to change too much to support each server technology, and you would demonstrate that you're a versatile developer that can learn new technologies quickly.
How about a blog?
Of course, some folks might consider it cliche, but it's also a fairly well-rounded sort of Web project -- there's some database-design in there, some app-dev in your language of choice, some SOA (Web services with SOAP or REST, maybe some RSS as well), some UI design, some UI dev in Flex, and so on.
It's also a familiar-enough idea to the kinds of folks who'll probably be interviewing you, so you won't have to spend lots of time explaining what it is before digging into the technical details, and it's non-trivial, but still something whose scope you can keep under control. I think it's a good project for learning a new Web technology in general.
In terms of which part does what, you might consider doing the CMS with Flex, the majority of the public-facing site with PHP (or Rails) and HTML/CSS, and then adding one or two Flex extras to that as well -- a photo gallery, maybe, or a video/media player. Or what the heck, be different -- just build the whole thing in Flex, like Adobe's done with its XD site.
Have fun and good luck!
I dont't think that mixing php, django and rails makes sense for a demo...
I'd mix flex + one of django, php or rails.
You can then use pyamf, for example, so that you flex app can talk to django. Then look up for some php JSON lib and make the same with php + flex with json, and so on...
I think combining PHP and Rails or PHP and Django would make sense, but perhaps not combining Rails and Django. Rails and Django are too similar. They're modern web frameworks based on modern languages. What they lack, compared to PHP, are open source applications.
I suggest combining WordPress or Drupal with Django or Rails. To combine Drupal with Rails, you might try using drupal_fu. You might try a Django site with a WordPress blog nicely integrated, including using Django authentication for comments on the WordPress blog. Or you might do a Drupal site with a custom part of the site written in Rails.
Perhaps one way you could get both Django and Rails into the mix would be to use Rails for the base of your site and use Django as a way to use a Python library (for something that's done better in Python). One example I know of Python being used in a Ruby app is GitHub, which uses Pygments, a library written in Python, for source code highlighting. I don't think they use Django for it, but you could!
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 8 years ago.
Improve this question
It's hard for me to imagine a php script that is more than a few hundred lines of code. It seems that, for a non-persistent environment, web-based scripting is usually done is small chunks and used for the purpose of delivering a portion of a website to the end user. I'd like to know if people are developing any type of large, or persistent, or complex apps with php, and what is it exactly you are working on. I've only done small projects for small websites, so I don't know what can be accomplished on a larger scale. It would also be nice to know what libraries you are using, and what other technologies you are integrating with. Please enlighten me so I can start to dream of bigger things!
I would look at some of the well-known open source web apps that use PHP to get a good sense of what can be accomplished, and how PHP is used in each of them. The advantage is that since they are all open source, you can actually look at the PHP code to see how various functionality was implemented.
Some good examples to look at include:
WordPress
TextPattern
MediaWiki
PhpBB *questionable code quality
SugarCRM
Joomla
Drupal
Also look at some of the popular frameworks to see what kind of functionality they offer (this should give you a good sense of what types of things PHP is most often used for):
Zend Framework
CakePHP
CodeIgniter
Symfony
For my day-job we run everything in PHP - our front-end website, our backend for agents and employees, inventory, server control interfaces, etc. These are everything from spiffy new AJAX-enabled Zend Framework apps to legacy code that we haven't ported yet. On top of that we use things like Mantis (bug tracking built in PHP), Mediawiki, and phpMyAdmin.
The only thing that isn't PHP are vendor apps because vendors love Java. The one ASP.NET application we have was actually abandoned by the vendor during the project (not really a knock against ASP.NET, that app was just the perfect definition of a runaway project and would have failed no matter what language it was written in).
With mature frameworks like Zend Framework, CodeIgnitor, and CakePHP creating just about anything in PHP is possible.
The biggest problem developing large scale programs is definitely keeping them maintainable in the long-term. Initially, a program starts out all full of ideal methods and ideas, but keeping the integrity intact, especially, over time fails, in my opinion, more often than not.
In addition, scope creep is your enemy. You HAVE to reign that in ASAP.
As far as large scale programs go the company I work for has a few internal programs constantly under development. One example is our proprietary website engine. It's a very large code-base that includes a dozen modules (user management, survey system, blogs, user galleries, etc) that allows us to build our clients sites rapidly.
We also develop our own internal project management program for managing our clients work.
You should definitely be thinking in terms of scale in the long term. In almost every project I've worked on there's a permission/group element for users involved. You might want to start thinking about the possibilities and issues involved in that and work up to more complicated functionality.
MediaWiki is one of the largest public PHP apps, and it's got very nice code. . I know some larger ones, but they're utterly awful and you'd learn nothing by reading them.
There are lots of complex OpenSource php applications. For example, the Drupal CMS, which can be considered a platform in its own right for developing other web sites.
You can browse through the source code online: http://cvs.drupal.org/viewvc.py/drupal/drupal/
+1 for Wilco
I have a software I use for some of my clients, it's a CMS, Blog, eCommerce beast, the code base is HUGE, but everything cooperates with each other nicely.
My company works on educational software. We've recently started doing web-based content delivery, including video and audio, with the backend written entirely in PHP using MySQL. We have two primary apps, one which lives on our servers and one which is delivered to the customer. One clocks in at ~42,000 lines of code (using a physical line count) and one at ~68,000 lines.
We use PEAR extensively and a recently started project is using the Zend Framework.
We use PHP at our company. (We do online language learning: http://www.livemocha.com. You should go take a look at the site. Yes, it's sort of a shameless plug, but it's also topical. :-) )
I can't give you a precise number of users, but we put out a press release a while back celebrating hitting the 3 million mark. That's a pretty large scale as web apps go.
We build on the CakePHP framework, which is based on an MVC architecture... at least in theory. In practice, they auto-generate certain methods for the models which tend to have the result of pushing some pieces of model code (caching, deciding which DB to use) into the controllers. They also have a few localization issues in 1.2 that make me think this part of the framework hasn't really reached maturity yet. That said, I find CakePHP pretty comfortable to work with overall, and you should at least take a look at it if you're considering implementing a large-scale web app in PHP. It has some excellent documentation available as well (google for "CakePHP bakery").
Get CodeIgniter and rebuild Amazon or Ebay. If you can dream it you can build it in PHP but you might not be able to maintain it because it is so easy to created bad code that works. PHP.net is your friend. Whatever framework you use make sure your read the User Guide and let it guide you.
I can't believe nobody has mentioned the MVC pattern yet. IMO, it's one of the best things you can use to help you maintain large codebases.