Quickly generate LAMP stack server side code.
ModelBaker, a remarkable application that delivers point and click development so you can do amazing things for your business, your customers, organization and school.
Rapidly build a corporate intranet from scratch. Create custom client web applications and place your classroom online.
And build it all with a single mouse click.
From your Entity Models, ModelBaker can quickly generate the PHP and SQL code for you. Inserting your SQL into tables and having open code allows you to quickly build a foundation for your web application.
ModelBaker generating server-side code quickly.
Models
Models are the building blocks for your application. They represent the data and business rules you will need for your application. ModelBaker makes it a one click process in creating models.
ModelBaker actually takes this a step further and abstracts your model into entity models. You have the ability to add attributes to your high level entity model, which will used as database columns. You can define your own attributes and all model classes and SQL code will be automatically generated.
Adding custom validation to your attributes is simply a click away. Generated web apps will contain all your validation for users.
Associations, one of the powerful features of ModelBaker is the ability to link different models through associations. Mapping your models through relationships will automatically generate the necessary SQL and class model associations.
Controllers
A controller is used to manage the logic for a part of your application. Most commonly, controllers are used to manage the logic for a single model. For example, if you were building a site for an online bakery, you might have a RecipesController and a IngredientsController managing your recipes and their ingredients. In CakePHP, controllers are named after the model they handle, in plural form.
The Recipe model is handled by the RecipesController, the Product model is handled by the ProductsController, and so on.
Your application’s controllers are classes that extend the CakePHP AppController class, which in turn extends a core Controller class. The AppController class can be defined in /app/app_controller.php and it should contain methods that are shared between all of your application’s controllers. It extends the Controller class which is a standard CakePHP library.
Controllers can include any number of methods which are usually referred to as actions. Actions are controller methods used to display views. An action is a single method of a controller. CakePHP’s dispatcher calls actions when an incoming request matches a URL to a controller’s action. Returning to our online bakery example, our RecipesController might contain the view(), share(), and search() actions.
Views
The view layer of your web application is what your users see and interact with. Most of the time you will be serving XHTML to your web and iPhone users, but you can also deliver .CSV or even straight XML like a RSS feed.
ModelBaker generates all the views for you as template files. These files can be edited in your favorite text editor. These files have the .CTP (CakePHP Template) extension and contain all the presentation logic needed to render a XHTML view to your audience.
View files are stored in /app/views/, in a folder named after the controller that uses the files, and named after the view it corresponds to. For example, The view() action of the Products controller would normally be found in /app/views/products/view.ctp.
Helpers are utility objects that help out with the presentation logic of the view layer. They can be shared among layouts, views and elements. You can use the CakePHP’s built in helpers, extend them or you can create your own helpers. ModelBaker currently ships with the Ajax, Cache, Form, HTML, Javascript, Js, Number, Paginator, RSS, Session, Text, Time and XML helper objects.
Web Apps
Developing web applications is never easy and sometimes incredibly hard. There are multiple phases and moving parts during the whole project life cycle.
Constructing database-driven web applications has always had challenges during the development phase. ModelBaker removes the hardest and tedious work during construction, leaving you with a generated web framework that can be expanded or ready for production use.
At the most basic example, building web applications with ModelBaker is simple a three step process. The first step is to create an Entity Model. The second is to choose your build path and database credentials. And the last being to click the build button.
Code Generation
ModelBaker generates automatically the SQL code, HTML, PHP Models, PHP Controllers and PHP Views. All open code and easily can be customized in your favorite text editor.
Once the generated code is created, you can edit every file with a text editor. If you want to regenerate the project, ModelBaker will look at each file and determine if the file has been edited since last built. If it determines the file has been edited, ModelBaker will not overwrite your updates, it will leave the file alone.
Internationalization and localization
Maintainability is one of the key factors when developing software, and putting your application into multiple languages with different locals can be challenging. ModelBaker takes the task head on by placing your generated web code into English strings.
The final output are .PO files based with a key-value pair in English. From a simply copy and paste of the generated .PO file, you have ability to change the values into any language of choice. All files are created with the UTF-8 (8-bit Unicode Transformation Format).
SQL generation
ModelBaker creates your database tables and columns on the fly when building your project. Each entity is mapped to a database table and each entity’s attribute is mapped to a database column.
ModelBaker automatically takes care of adding and updating your SQL tables, no need to worry about foreign keys or id’s.
Security
Needing to lock down a URL of your website? ModelBaker makes it easy for you to enable HTTP Authentication. A simple checkbox with a user name and password is all that’s needed to require authentication.
ModelBaker implements CakePHP’s Security component, and HTTP Authentication is one of the many features that come with security. Protection against SQL injection, cross-site scripting, cross-site request forgery and data sanitization are just a few.
ModelBaker Templates
You can use prebuilt templates or develop your own based on ModelBaker project files. Creating your own templates is easy and straight forward on the Mac.
Simply gather your .modelbaker project file, a PNG graphic and a meta data file (XML) called info.plist into a folder and rename that folder with a .mbtemplate extension. You now have a ModelBaker Template file.
ModelBaker Themes
ModelBaker allows you to expand your project by creating custom themes “skins” for your web application. You can easy create CSS, JS, default layouts with images and bundle them up into a reusable theme for your projects.
Simple place your graphical and layout assets into a pre-defined folder structure and naming conventions. Rename your top folder to a “.mbtheme” and you can then add your theme into ModelBaker.
Open Technology
Databases
ModelBaker speaks directly to MySQL, dynamically creating tables and columns as you build your web application.
Using CakePHP’s drivers, you can use other databases for deployment, such as Oracle, DB2, Postgresql and more.
One of the features of ModelBaker allows you to inject dummy data into MySQL at build time. This allows you to immediate preview a working web app with data with your database.
CakePHP
CakePHP is a rapid development framework for PHP that provides an extensible architecture for developing, maintaining, and deploying applications. Using commonly known design patterns like MVC and ORM within the convention over configuration paradigm, CakePHP reduces development costs and helps developers write less code.
Tens of thousands of web developers have chosen CakePHP as the base development framework for their web applications. ModelBaker brings this framework as the core deployment framework for your web application.
Web Server
Using the most popular web server since 1996, Apache HTTPD, your web application can be deployed to thousands of internet server providers worldwide.
ModelBaker requires the PHP runtime and can be integrated with other web servers such as IIS and Lighttpd.