Re: Fatal Error: Class 'String' not found in Model

2012-08-27 Thread Dmitriy Ermolin
http://book.cakephp.org/2.0/en/models/callback-methods.html#beforesave

Specify 'array $options = array()' as parameter for beforeSave() and error 
message will disappear.

четверг, 3 мая 2012 г., 4:21:16 UTC+4 пользователь Conor Manning написал:
>
> I have a web application that has been working fine until recently when I 
> switched operating systems. I migrated from Ubuntu to Arch Linux, backing 
> up my application online. In the process I lost some directories and my web 
> application no longer worked.
>
> To solve this, I downloaded CakePHP again, copied the Controllers, Models 
> and Views from my old project into my new copy of Cake, and modified my 
> config to reflect my database.
>
> I'm using Cake's AuthComponent and I'm getting this strange error message:
>
>> Fatal error: Class 'String' not found in /srv/http/bfm/app/Model/User.php on 
>> line 39
>
>
> I didn't know what to make of the line number because line 39 is the last 
> line in the file. I'm not particularly experienced with PHP outside of Cake 
> so perhaps somebody else will be able to tell me what that might mean.
>
> Each User has many Podcasts, and each Podcast belongs to a User. It was in 
> accessing any page which used find to retrieve Podcasts and associated User 
> objects that the error occurred.
>
> Stranger still, actions managed by the UsersController worked fine. I was 
> able to access my user login page with no problems, and I was redirected to 
> login when I tried to create a new user, which is consistent with my Auth 
> settings.
>
> In any case, I decided to track down the cause of this error. I commented 
> out my validation code and my beforeSave method, which used 
> AuthComponent::password to hash and salt my users' passwords. Once I did 
> this, the error vanished. With some further clumsy debugging through 
> commenting, I figured out that it was specifically the beforeSave method 
> that was causing problems. 
> I tried following the trail of functions called from beforeSave, through 
> AuthComponent and Security. Both of those files had App::uses('String', 
> 'Utility') in them. What's more, I tried adding that line to User.php, and 
> it didn't help solve the problem either.
> My beforeSave method looks like this:
>
> public beforeSave() {
> if (isset($this->data[$this->alias]['password']) {
> $password = $this->data[$this->alias]['password'];
> $this->data[$this->alias]['password'] = AuthComponent::password($password);
> }
> return true;
> }
>
> When I replaced AuthComponent::password($password) with $password, the 
> error was still there, which confused me, because I was sure String was 
> needed for AuthComponent::password (via Security), and that was what was 
> causing the trouble.
>
> Maybe this was too long, but I wanted to give all the information I had, 
> because I am well and truly stuck. I have no idea what's happening inside 
> my code.
> I can provide more information or code if it's useful. I just don't know 
> where to begin.
>

-- 
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To post to this group, send email to cake-php@googlegroups.com.
To unsubscribe from this group, send email to 
cake-php+unsubscr...@googlegroups.com.
Visit this group at http://groups.google.com/group/cake-php?hl=en-US.




Re: Fatal Error: Class 'String' not found in Model

2012-05-05 Thread WyriHaximus
Hey I've encountered the same bug on a different place tho. Are you by any 
change running with E_STRICT error logging on? Cause going from E_ALL | 
E_STRICT to just E_ALL 'solved' the problem. (Had this on both windows and 
linux.)

On Thursday, May 3, 2012 2:21:16 AM UTC+2, Conor Manning wrote:
>
> I have a web application that has been working fine until recently when I 
> switched operating systems. I migrated from Ubuntu to Arch Linux, backing 
> up my application online. In the process I lost some directories and my web 
> application no longer worked.
>
> To solve this, I downloaded CakePHP again, copied the Controllers, Models 
> and Views from my old project into my new copy of Cake, and modified my 
> config to reflect my database.
>
> I'm using Cake's AuthComponent and I'm getting this strange error message:
>
>> Fatal error: Class 'String' not found in /srv/http/bfm/app/Model/User.php on 
>> line 39
>
>
> I didn't know what to make of the line number because line 39 is the last 
> line in the file. I'm not particularly experienced with PHP outside of Cake 
> so perhaps somebody else will be able to tell me what that might mean.
>
> Each User has many Podcasts, and each Podcast belongs to a User. It was in 
> accessing any page which used find to retrieve Podcasts and associated User 
> objects that the error occurred.
>
> Stranger still, actions managed by the UsersController worked fine. I was 
> able to access my user login page with no problems, and I was redirected to 
> login when I tried to create a new user, which is consistent with my Auth 
> settings.
>
> In any case, I decided to track down the cause of this error. I commented 
> out my validation code and my beforeSave method, which used 
> AuthComponent::password to hash and salt my users' passwords. Once I did 
> this, the error vanished. With some further clumsy debugging through 
> commenting, I figured out that it was specifically the beforeSave method 
> that was causing problems. 
> I tried following the trail of functions called from beforeSave, through 
> AuthComponent and Security. Both of those files had App::uses('String', 
> 'Utility') in them. What's more, I tried adding that line to User.php, and 
> it didn't help solve the problem either.
> My beforeSave method looks like this:
>
> public beforeSave() {
> if (isset($this->data[$this->alias]['password']) {
> $password = $this->data[$this->alias]['password'];
> $this->data[$this->alias]['password'] = AuthComponent::password($password);
> }
> return true;
> }
>
> When I replaced AuthComponent::password($password) with $password, the 
> error was still there, which confused me, because I was sure String was 
> needed for AuthComponent::password (via Security), and that was what was 
> causing the trouble.
>
> Maybe this was too long, but I wanted to give all the information I had, 
> because I am well and truly stuck. I have no idea what's happening inside 
> my code.
> I can provide more information or code if it's useful. I just don't know 
> where to begin.
>

-- 
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


Fatal Error: Class 'String' not found in Model

2012-05-02 Thread Conor Manning
I have a web application that has been working fine until recently when I 
switched operating systems. I migrated from Ubuntu to Arch Linux, backing 
up my application online. In the process I lost some directories and my web 
application no longer worked.

To solve this, I downloaded CakePHP again, copied the Controllers, Models 
and Views from my old project into my new copy of Cake, and modified my 
config to reflect my database.

I'm using Cake's AuthComponent and I'm getting this strange error message:

> Fatal error: Class 'String' not found in /srv/http/bfm/app/Model/User.php on 
> line 39


I didn't know what to make of the line number because line 39 is the last 
line in the file. I'm not particularly experienced with PHP outside of Cake 
so perhaps somebody else will be able to tell me what that might mean.

Each User has many Podcasts, and each Podcast belongs to a User. It was in 
accessing any page which used find to retrieve Podcasts and associated User 
objects that the error occurred.

Stranger still, actions managed by the UsersController worked fine. I was 
able to access my user login page with no problems, and I was redirected to 
login when I tried to create a new user, which is consistent with my Auth 
settings.

In any case, I decided to track down the cause of this error. I commented 
out my validation code and my beforeSave method, which used 
AuthComponent::password to hash and salt my users' passwords. Once I did 
this, the error vanished. With some further clumsy debugging through 
commenting, I figured out that it was specifically the beforeSave method 
that was causing problems. 
I tried following the trail of functions called from beforeSave, through 
AuthComponent and Security. Both of those files had App::uses('String', 
'Utility') in them. What's more, I tried adding that line to User.php, and 
it didn't help solve the problem either.
My beforeSave method looks like this:

public beforeSave() {
if (isset($this->data[$this->alias]['password']) {
$password = $this->data[$this->alias]['password'];
$this->data[$this->alias]['password'] = AuthComponent::password($password);
}
return true;
}

When I replaced AuthComponent::password($password) with $password, the 
error was still there, which confused me, because I was sure String was 
needed for AuthComponent::password (via Security), and that was what was 
causing the trouble.

Maybe this was too long, but I wanted to give all the information I had, 
because I am well and truly stuck. I have no idea what's happening inside 
my code.
I can provide more information or code if it's useful. I just don't know 
where to begin.

-- 
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