Thank you Randy! Surely I'll take a look on these suggestions.

On Jun 6, 3:46 pm, randy <ses...@gmail.com> wrote:
> Hey Bruno,
>
> I can answer some of these with some of my experience. I don't have much
> experience in Rails but I try to keep up with what's happening in that camp.
>
> Packages: Personally, for plugins and libs, I use git submodules. There are
> pitfalls there, but it works and since I'm the only one that owns the code,
> I just work through them.
>
> Migrations: I believe Cake supports migrations but have not used them much.
> I believe it works similar to Rails.
>
> Automated Deploys: I've read that people use Cap for PHP deployments. Cap
> seems pretty flexible and can be used outside the Rails domain. There's
> also things like ant and Phing but haven't looked into this just yet (but
> seriously need to)
>
> Asset Compression: Yes. Via plugin written Mark Story 
> (https://github.com/markstory/asset_compress) It works pretty well and
> supports CDNs. Also supports things like coffee script and lesscss.
>
> Workers, etc: Cake has a Task/Shell framework that allows you create, well,
> tasks and shell programs you can run from cron or wherever. Beyond that,
> you can add event handlers/listeners to respond to custom events in Cake's
> Event system (http://book.cakephp.org/2.0/en/core-libraries/events.html)
> which is new in 2.1. Then there's things like Gearman and Beanstalkd
> (neither of which I have exposure to but the concept sounds interesting)
>
> Skipping some points...  Testing: PHPUnit is the framework used by CakePHP
> 2+http://book.cakephp.org/2.0/en/development/testing.html
>
> Like you said, there's many ways to skin a cat, but these are some off the
> top of my head.
>
> Cheers!
> randy
>
>
>
>
>
>
>
> On Wed, Jun 6, 2012 at 8:19 AM, Bruno Dias <bruno...@gmail.com> wrote:
> > Hi guys. My intention is not to make comparisons or discuss which
> > framework is better. I know the power from both CakePHP and Rails. I'm
> > sure that there's a way to do similar things in both of them.
>
> > So, this is the situation: in Rails framework, I'm used to do
> > somethings that I'd like to do on CakePHP (some of them I haven't
> > found on the documentation).
>
> > They are:
>
> > - Package management
> > In Rails, I have the "Gemfile" file, where I write the version of each
> > "gem" used in the application. If I want to upgrade or downgrade, I
> > change the version and run the "bundle update" command. How do you
> > update plugins? Do you use tools like GIT to checkout each one to
> > newer versions?
>
> > - Migrations
> > When I need to change the database, I create a empty "migration" file
> > through the console command "rails generate migration". Then, in the
> > generated file, I add the changes, like
> > "rename_column :users, :address, :location". After that, I run "rake
> > db:migrate" and the database is migrated. How to do that on CakePHP?
>
> > - Automated Deployment
> > Deployment in Rails can be made automated using the "Capistrano" ruby
> > gem. Basically, I run "cap production deploy" in the command line.
> > Then, based on the instructions on the "deploy.rb" file, it logs into
> > the server(s), clone the newest version of the code from the git
> > repository, and backups the current release, so I can rollback. It
> > also can create symlinks for "shared" folders (like user uploads),
> > recompile the assets, run pending migrations, install new
> > dependencies, restart some server processes, restart the application
> > itself, and can execute other command line tasks. Is there something
> > similar on CakePHP?
>
> > - Assets compression
> > In Rails, when I'm in production mode, the CSS and JS assets are
> > automatically compiled into single files, and regenerated after each
> > deployment. That's a native feature in Rails 3.1+. Is that possible on
> > CakePHP?
>
> > - Workers and Background Jobs
> > Rails can use a gem called "delayed_job" to enqueue tasks to be
> > executed in background by "workers", like sending an e-mail after user
> > signup, for example. How do you do that?
>
> > - Namespaces for controllers
> > If I want to create an admin interface, or a web service (using the
> > "api" namespace, for example), or a "mobile" namespace, I just create
> > the respective folders on the "controllers" folder. Then, I put the
> > controllers there and create the routes to access them. What's the
> > best way to do that on Cake?
>
> > - Access model methods from view
> > It seems that CakePHP return an associative array when I grab data
> > from the database, and not the true "objects". So, I can not access
> > the model methods.
> > Let's suppose my UserModel class provides a method called "age" that
> > calculates the user current age based on his birthday. In Rails, I
> > could do this on the view: <%= @user.age %>. I need to create a view
> > helper for doing that on Cake? Like <?php $helpers-
> > >calc_user_age($user); ?> (or something like that) ?
> > Another situation: Let's suppose I want to get the last comment from a
> > user, and within the comment, insert a link to the related post using
> > the post title.
> > In Rails I would do something like @user.comments.last.post.title to
> > get the post title. How could I do that in Cake, without using that
> > "recursive=3" feature that gets lots of unnecessary data?
>
> > - Chaining model scopes
> > Let's suppose I have a model called Post. In Rails, I can create
> > scopes on models and mix them the way I want.
> > If I want to the get the "5 last published posts from the category
> > Programming ordered by the most accessed", for example, I would call
> > them this way:
> > "Post.published.from_category("programming").most_accessed.limit(5)".
> > If I want only the draft posts ordered by recent, integrated with
> > pagination, I would call "Post.drafts.recent.page(2)".
> > What is the best way to create and chain scopes on CakePHP? Build
> > dynamically an array of conditions and send it as the parameter for
> > "find"?
>
> > - Tests
> > What are the testing tools adopted by the CakePHP community? I need to
> > test the models and its methods, test the controllers and its
> > responses and variables, and test the views content (also Javascript
> > interaction), create fixtures, etc. I also would know if there is a
> > way to create something like autotest, that run the tests after file
> > saves.
>
> > Well, basically these are the points. Sorry for the long post, and for
> > my error-prone and redundant english (i'm not a native speaker). Hope
> > we can have a good conversation. Thank you!
>
> > --
> > Our newest site for the community: CakePHP Video Tutorials
> >http://tv.cakephp.org
> > Check out the new CakePHP Questions sitehttp://ask.cakephp.organd help
> > others with their CakePHP related questions.
>
> > To unsubscribe from this group, send email to
> > cake-php+unsubscr...@googlegroups.com For more options, visit this group
> > athttp://groups.google.com/group/cake-php

-- 
Our newest site for the community: CakePHP Video Tutorials 
http://tv.cakephp.org 
Check out the new CakePHP Questions site http://ask.cakephp.org and help others 
with their CakePHP related questions.


To unsubscribe from this group, send email to
cake-php+unsubscr...@googlegroups.com For more options, visit this group at 
http://groups.google.com/group/cake-php

Reply via email to