Req #55617 [Opn->Csd]: make array to support mode class

From: Date: Mon, 05 Jan 2015 22:14:50 +0000
Subject: Req #55617 [Opn->Csd]: make array to support mode class
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-189666@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=55617&edit=1

 ID:                 55617
 Updated by:         danack@php.net
 Reported by:        kexianbin at diyism dot com
 Summary:            make array to support mode class
-Status:             Open
+Status:             Closed
 Type:               Feature/Change Request
 Package:            Class/Object related
 Operating System:   Irrelevant
 PHP Version:        Irrelevant
-Assigned To:        
+Assigned To:        danack
 Block user comment: N
 Private report:     N

 New Comment:

Please discuss fundamental design changes on the internals list or in IRC.


Previous Comments:
------------------------------------------------------------------------
[2011-09-22 04:02:54] kexianbin at diyism dot com

It's easier to realize MyPHP(Mode Class PHP) based on quercus,
because "you doesn't need to write a super GC or JIT to be fast(like in C), only a
compiler".

------------------------------------------------------------------------
[2011-09-06 07:52:08] kexianbin at diyism dot com

Description:
------------
In my mind, we phper can thoroughly throw away the concept of Object(class instance), we only need
Array and Mode Class:

All arrays in initial mode support any array function as it's method:

<?php
$array1->array_flip(this);
?>

Use "->mode()" to validate the minimal data set, and then switch mode class:

<?php
$array1->mode('class1', $success);
?>

Any mode class has no "construct()" in it, but has "validate()" to validate the
minimal data set.

The array in a mode still could use array function as its method, but after using any of them the
array will be switched back into basic array mode, and we need to use
"->mode('class1', $success);" to switch mode back.

The radical thought is data-centric programming, we need seperate the data(array) and the
activity(class method).

We could modify php engine, to get rid of parts of OO(object oriented), and support Mode Class, we
could call it MyPHP.

For example: $array_man1 could be set into two modes:cls_normal_man and cls_crazy_man:

<?php
$array_man1->mode('cls_normal_man')->normal_method1()->mode('cls_crazy_man')->crazy_method1();
?>



------------------------------------------------------------------------



--
Edit this bug report at https://bugs.php.net/bug.php?id=55617&edit=1


Thread (4 messages)

« previous php.bugs (#189666) next »