php-general Digest 4 May 2008 15:13:02 -0000 Issue 5440
Topics (messages 273848 through 273855):
Re: new $foo->className(); Class name must be a valid object or a string
273848 by: Stut
273850 by: Casey
Re: web based chat app
273849 by: paragasu
273854 by: Richard Heyes
Execute command from web browser
273851 by: opc.orenses.com
273852 by: Casey
Re: Question on PHP 6 and static calls to instance methods.
273853 by: Robert Cummings
Web page excerpt editor
273855 by: Mike Potter
Administrivia:
To subscribe to the digest, e-mail:
[EMAIL PROTECTED]
To unsubscribe from the digest, e-mail:
[EMAIL PROTECTED]
To post to the list, e-mail:
[EMAIL PROTECTED]
----------------------------------------------------------------------
--- Begin Message ---
On 4 May 2008, at 00:46, Jack Bates wrote:
I am trying to load PHP objects stored in a database, where the class
name is stored in a column:
$object = new $resultSet->getString(1);
This fails for the same reason that the following fails:
<?php
class Foo
{
public function className()
{
return 'Foo';
}
}
$foo = new Foo;
$bar = new $foo->className();
I would rather have a factory method that returns a new instance of
the class. There's no need for the outside world to know the class name.
<?php
class Foo
{
public function newInstance()
{
return new self();
}
public function test($a)
{
echo 'test: '.$a."\n";
}
}
$foo = new Foo;
$foo->test('foo');
$bar = $foo->newInstance();
$bar->test('bar');
?>
However, if you insist on doing it your way can I make a small
suggestion? It's better to spend your time on functionality rather
than finding ways to save some typing. I see no reason to try to
combine the two statements - saving typing and a pitiful amount of
disk space are the only benefits.
-Stut
--
http://stut.net/
--- End Message ---
--- Begin Message ---
On May 3, 2008, at 4:46 PM, Jack Bates <[EMAIL PROTECTED]> wrote:
I am trying to load PHP objects stored in a database, where the class
name is stored in a column:
$object = new $resultSet->getString(1);
This fails for the same reason that the following fails:
<?php
class Foo
{
public function className()
{
return 'Foo';
}
}
$foo = new Foo;
$bar = new $foo->className();
Fatal error: Class name must be a valid object or a string in test.php
on line 12
I guess this error is due to the confusion of parsing "()" as the
argument list for the "className" function, or the "Foo"
constructor...
I work around this error by using a temp variable:
$tmp = $foo->className(); $bar = new $tmp;
- however the above reads like hacky code : (
When calling dynamically named functions, I generally use
call_user_func() to avoid awkwardness with $object->$tmp($arg1, ...)
In other words, I prefer:
call_user_func(array($object, 'get'.$someName), $arg1, ...);
- to:
$tmp = 'get'.$someName; $object->$tmp($arg1, ...);
However there does not appear to be an analog of call_user_func() for
constructing new instances of dynamically named classes?
If I recall correctly, there was also a way to work around calling
dynamically named functions (e.g. $object->$tmp($arg1, ...);) using
curly braces:
$object->{'get'.$someName}($arg1, ...);
- however I cannot recall the exact syntax.
Can anyone confirm that there is a curly brace syntax for calling
dynamically named functions? Could it be applied to instantiating
dynamically named classes?
Can anyone recommend a cleaner alternative to:
$tmp = $foo->className(); $bar = new $tmp;
Thanks and best wishes, Jack
Does...
<?php
$bar = new $foo->className()();
?>
...work?
Otherwise, I'd just do...
<?php
$className = $foo->className();
$bar = new $className;
?>
...instead of $tmp.
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
--- End Message ---
--- Begin Message ---
On Sun, May 4, 2008 at 5:37 AM, Nitsan Bin-Nun <[EMAIL PROTECTED]> wrote:
> glad my posts are useful ;)
> anyway, you can register a channel on any server, so you dont have
> actually to run one by yourself, there are zillions of networks out there
> that are just waiting for you. you can also check pjirc, it is a jave applet
> for online irc chat, its pretty integrate-able, you can change the
> background and the whole look to feat your website, also the language, even
> Hebrew is supported :D
>
> HTH,
> Nitsan
>
>
i did try to find opensource php + AJAX base IRC client. but found none.
but there is a PEAR library available to connect to IRC server. i will look
into it
and try to write some IRC client. it gonna be fun ;)
--- End Message ---
--- Begin Message ---
i did try to find opensource php + AJAX base IRC client. but found none.
but there is a PEAR library available to connect to IRC server. i will look
into it
and try to write some IRC client. it gonna be fun ;)
Not having read the rest of the thread, I got mildly interested in this
and made a simple web based chat thing. You can try it out with seperate
browsers (simulating different clients). From what I remember it
probably won't cope with the load you're refering to, but it's just an
example (oh and (for better or worse) there's no need for an IRC server).
http://www.phpguru.org/chat/chat.php
--
Richard Heyes
+----------------------------------------+
| Access SSH with a Windows mapped drive |
| http://www.phpguru.org/sftpdrive |
+----------------------------------------+
--- End Message ---
--- Begin Message ---
Hi all
I try write a code to execute service in my server from web browser
I write next
/var/www/html/squidup.html
<?
exec ('/usr/bin/squid/sbin/squid')
echo "Squid UP"
?>
but, don't work from web browser.
What is wrong
Thanks,
--- End Message ---
--- Begin Message ---
On 5/3/08, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
>
> Hi all
>
>
> I try write a code to execute service in my server from web browser
>
> I write next
>
> /var/www/html/squidup.html
Should it be... squidup.php?
> <?
> exec ('/usr/bin/squid/sbin/squid')
> echo "Squid UP"
> ?>
>
> but, don't work from web browser.
>
> What is wrong
>
> Thanks,
>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>
--
-Casey
--- End Message ---
--- Begin Message ---
You would have better luck posing this question to the internals list:
[EMAIL PROTECTED]
Cheers,
Rob.
On Sat, 2008-05-03 at 17:32 -0400, Adam Richardson wrote:
> I've incorporated use of the ability to call instance methods through
> static calls, allowing for me to mimic multiple inheritance without
> having to make edits to classes that are already working because of
> the behavior of '$this' when instance methods are called statically.
>
> As stated on in the basics section on classes and objects:
>
> "$this is a reference to the calling object (usually the object to
> which the method belongs, but can be another object, if the method is
> called statically from the context of a secondary object)."
>
> I've made great use of that functionality in my framework. However,
> It sounds like this is going to cause a fatal error in PHP6. Is this
> in fact true? And, if the behavior is going to change, can somebody
> explain what the impetus for this change was?
>
> Thank you very much for your time,
>
> Adam
>
> Adam Richardson
> Envision Internet Consulting, LLC
> Phone: (517)623-0485
>
> Services and insight for building effective, user-oriented websites.
>
>
>
--
http://www.interjinn.com
Application and Templating Framework for PHP
--- End Message ---
--- Begin Message ---
We are looking for a script similar to SnippetMaster
(http://www.snippetmaster.com/). We want to give the non-html-coding
client the ability to make edits to one part of one page on their Web
site on a weekly or near-daily basis. We are looking for something
free and turnkey, so we can move on to the next paying client. As
stated, the client is not html-aware so SnippetMaster itself fails our
criteria, the free version does not offer WYSIWYG previews of changes
while editing (http://www.snippetmaster.com/compare.html).
Does anyone have any experience with something else? Alternately, has
anyone written something they'd be willing to share under GPL?
Ski
--- End Message ---