You're absolutely right, I was definitely confusing the two. I suppose that
I'm so used to referencing the plugin as camel-case everywhere else within
the app and since functions are camel-case and they are referenced as such
in the URL, it wasn't a far stretch to make the mistake of constructing my
links with *'plugin' => 'SomePlugin'*. I definitely learned my lesson on
that one. I have everything fixed in the app except for pagination. It
loads the first :page fine but still assumes on the following :pages the
plugin should be loaded as camel-case instead of underscore. Is there
something I missed when changing everything over, or is there some place I
should let Cake know that those pages belong in some_plugin? I noticed that
when the error is thrown the error log shows the plugin as null.



On Sun, Oct 27, 2013 at 6:56 PM, euromark <[email protected]> wrote:

> Yes, I guess you have been creating non-conventional links so far. Mainly
> because you are confusing framework internal naming schemes with URL naming
> scheme
> The latter defines everything underscore_lowercased, even the plugin.
> The first refers mainly to classes, which will always be named CamelCased.
>
> You need to understand the difference in order to not write faulty code -
> which at some point can blow up (as it then did).
>
>
> Am Samstag, 26. Oktober 2013 04:43:11 UTC+2 schrieb CrotchFrog:
>
>> I've noticed recently some strange behavior when it comes to naming
>> conventions and Plugins.
>>
>> For example if I create a link somewhere within a plugin ie. 
>> *$this->Html->link('Some
>> Link', array('controller' => 'controller', 'action' => 'action')); *
>> Following the link would land you on the page *
>> app/plugin/controller/action *u**nless a location is specified outside
>> of the current plugin and controller.
>>
>> Links created this way and that have been working since they were created
>> sometimes out of the blue throw an error along the lines of 
>> *SomePluginController
>> *cannot be found.
>> This is strange because the link has always worked in the past. When
>> these links create an error I have to re-create the link and specify the
>> plugin *$this->Html->link('controller' => 'controller', 'action' =>
>> 'action', 'plugin' => 'some_plugin')*.
>> I have to use an underscore in the plugin name, using camel case results
>> in the same error.
>>
>> It's possible that some, but not all, of the links were created only
>> specifying the action and not the controller. With this being the case I
>> could sort of understand the resulting error but not when I have specified
>> both the controller and the action.
>>
>> I created all of my custom routes with the plugin as camel case, it just
>> seems to be links and redirects that display this behavior.
>>
>> I assumed that with sticking to naming conventions I could write it as 
>> *SomePlugin
>> *or *some_plugin *and either one would be fine.
>>
>> Have I been creating my links incorrectly this entire time?
>>
>>  --
> Like Us on FaceBook https://www.facebook.com/CakePHP
> Find us on Twitter http://twitter.com/CakePHP
>
> ---
> You received this message because you are subscribed to a topic in the
> Google Groups "CakePHP" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/cake-php/zDwuUhlVGzE/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/cake-php.
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP

--- 
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to