4 ms·
We are currently using CI on a pretty big project and I have both good and bad things to say about it. The good news is that it is a "rails like" framework, but
by mk 19y ago
We are currently using CI on a pretty big project and I have both good and bad things to say about it. The good news is that it is a "rails like" framework, but without the magic. Some of the helpers are really nice, the validation lib is pretty nice allowing for callbacks to both validate and alter data. Problems I have with it are support for transactions, which seem to be there but fail miserably when something goes wrong. If an exception is thrown the transaction has begun but it never hits a rollback, so all those queries are hanging in the balance and never get commited or rolled back. There is also this recurring theme in CI that they had to do everything themselves. This means that instead of using a well established Email lib they wrote their own, which has severe limitations. You can extend these all of these classes and easily integrate others so Email wasn't so big of a deal. We are just using phpmailer instead. You cannot however extend the DB class. You have to hack up the original, which is what we have been doing to provide SQL queries in the log file during development, and transactions that actually work. This wasn't too bad to do, but it is already introducing a problem. Upgrading from 1.5.whatever to 1.6 breaks the modifications that we did. So now we have the problem of versioning our own copy of CI with our fancy DB stuff, and the actual product we are developing. That being said it is the best PHP programming experience that I have ever had.
- jamongkad 19y agoThe validation lib can be improved upon but I just hate the idea of sticking into a controller function (I just move it the model, currently I'm writing a lib that should remedy this). Still I have to agree that allowing callbacks is a nice feature. Quick question how good is PHPMailer compared to CI's native Email lib? Was planning to use the latter for our company's web app.
- drm237 19y agoCI's email library has 3 modes: PHP Mail, Sendmail, or external SMTP server. In my experience, using Sendmail is very fast if you have a mail server installed on your webserver. I haven't tried PHPMailer because I haven't found CI's mail library to be missing anything that I needed.
- mk 19y agoThe reason why we started using it was we are required to send out HTML email. This sucks I know, but it wasn't an option. I found that CI's email lib had problems with sending out HTML mail with images as attachments and referencing those images in the HTML. Absolute image urls were not an option either.