Welcome Guest, Not a member yet? Register   Sign In
Can CodeIgniter help me do this?

[eluser]Jeff R.[/eluser]
I have been struggling for quite some time with the development of a scalable multi-page form wizard. The project must include conditional forms, looping, and branching. Coding this all 'by hand' has been a nightmare, I have been perplexed by how to attack this using OOP, and I need some kind of tool to help me get this pounded out.

Has anyone done this sort of this using CI?

Thanks for your input!


You can create an state machine and store the current state in the session, no?

[eluser]Jeff R.[/eluser]
I have no idea - which is why I'm asking. Not particularly interested in the 'how' at this point (since I have not yet started the learning curve), only IF this tool can help me do what I need to do.

No point in even downloading and installing if this is the wrong tool for the job.

Anyone? Can this create a scalable multi-form wizard with conditional forms, looping, and branching?

I'd be OK with recording all the 'step & form' info in a MySQl table which can be queried as needed.

Thanks again!


With code igniter you can do anything you can do with "plain PHP". The framework only enforces you to use some good practices, like separation of concerns.
So yes, what you're proposing is perfectly doable. It would be reasonable even if the rules of the workflow or your forms where dictated by an external web service, or.. you name it.

[eluser]Jeff R.[/eluser]

Thanks for the reply - now for the 'meaty' question. Including the learning curve, do you believe that it's a more efficient means of developing this project by using CI as opposed to coding from scratch?

Is there any GUI aspect to developing in CI which might help move this along - or are we talking completely text based and simply that CI will require different code which would force consistency?

Thanks again for your insights!


[eluser]Mark Croxton[/eluser]
@jeff R

I've built what you're describing and I would say that CI will help you in the following ways:

* organizing your code to make it maintainable and manageable
* form helpers and form field validation
* session control for maintaining state
* storing, retrieving and re-displaying form data from the database
* sending email reports

What it won't do is design/build your application for you.

[eluser]Jeff R.[/eluser]
Thanks Mark!

My big concern is whether the learning curve is how long it will take me to learn this extra 'layer' of design / development. I understand the need & benefits of being consistent and organized ... just not sure if I want to make that investment of time and effort to abstract myself from the application by another layer.


[eluser]Mark Croxton[/eluser]
There will be a learning curve if you're not used to MVC frameworks, but the payoff is that you can leverage a large body of existing and high quality code; for example, CI's core form validation class. This alone will save you massive amounts of time.

And if you're going to learn a framework then CI is without doubt the easiest to get started with thanks to the excellent documentation.

[eluser]Jeff R.[/eluser]
Definitely worth considering then ... thanks Mark!

Theme © iAndrew 2016 - Forum software by © MyBB