To use this website completely, it is necessary to store cookies on your computer.
 

* Navigator

Expand - Collapse

* Statistic

  • *Total Posts: 16404
  • *Total Topics: 2518
  • *Online Today: 8
  • *Most Online: 292
(12. Nov 2016, 09:37:31)
  • *Users: 0
  • *Guests: 0
  • *Spiders: 2
  • *Total: 2

  • *Baidu (2)

The PortaMx story

Started by feline, 25. Feb 2009, 01:19:17

previous topic - next topic

0 Members and 0 Guests are viewing this topic.

Go Down

feline

25. Feb 2009, 01:19:17
Today we started the PortaMx product story.
You can leave a comment to this here ...

Thanks,

Fel
Many are stubborn in relation to the path, a few in relation to the target.

restimguay

#1
18. Mar 2009, 17:26:17
Great success! You made it and I'm going to rate this portal from 1-10 I would say 10! Keep it up!

Tormod

#2
20. Aug 2009, 23:47:45
It looks great. But it is very similar to Tiny Portal?

feline

#3
20. Aug 2009, 23:50:25
No .. PortaMx is programmed with php OOP and have many other features ...

Fel
Many are stubborn in relation to the path, a few in relation to the target.

Tormod

#4
20. Aug 2009, 23:55:22
Ok.  :) But it looks similar. But I am happy to find this site,  I have Felblog on my site...

feline

#5
21. Aug 2009, 00:09:04
All portals looks similar .. TinyPortal, eZPortal, SimplePortal and mutch more  ;D

But all these are not in OOP programmed .. 8)

Fel
Many are stubborn in relation to the path, a few in relation to the target.

antechinus

#6
21. Aug 2009, 00:13:51
It might pay to explain what the difference is and what the advantages of OPP are.
Using Internet Explorer 6 on the internet is like urinating in a public swimming pool.
It's rude, there's no excuse for it, and anyone who does it should be ashamed of themselves.

feline

#7
18. Sep 2009, 22:43:45
That is to cpmplexe as can I write that in english (too bad for that)

But .. I will give you a simple example...

If you have 5 blocks from the same type, the code of each block code is loaded 5 times on standard programming. If you programming the same with OOP, the code is loaded ONE time. For the other 4 blocks, the same code is used. Only the content (variables) is different.

Example:
// load the class file if not loaded
if(!class_exists(xyz))
  require_once(filexyz.php);

// create two identically objects, call the constructor to init the class with different variables
$object1 = new $classname(variables1);
$object2 = new $classname(variables2);

// call a object methode (note: a methode have the same functionality as a function in standard php)
$object1->methode(variables1):
$object2->methode(variables2):

And more examples:
You need two blocks .. mostly identically, but the one have the option x the other option y
With standard php you must write the same code twice.

With OOP you write ONE basic class they have all common options.
Then you add a subclass with option x and one subclass with option y. On both the basic class is the parent, they have the contructor.
No you can call the class x with all parameters and call the class y with the other parameters. Both subclasses calls automatically the parent class and the constructor in it. Both blocks do what you want .. but the code is smaller and simpler to handle and to support for the programmer.

Now my final question..
Can you call a function (with the same name) in one of the 5 same block in TinyPortal, eZportal, SimplePortal?

And my answer..
NO, NO, NO .. NEVER .. (php error)

And in PortaMx?
Of course .. call the object::methode ($object->methode())

I hope you spend for my explain  ;D

Fel
Many are stubborn in relation to the path, a few in relation to the target.

Cool

#8
19. Sep 2009, 10:05:41
this is why i loved the pmx from beginning (eaven as i can´t code that much)
|I Use: SMF 2.0.5 | PortaMx 1.51
Q: What do you do when you see a bear in the woods?
A: Play Dead!
H-A-H-L = Happy Admins Have Linux

antechinus

#9
19. Sep 2009, 10:38:03
Ok thanks Fel. I get the general idea. It is more or less like caching of css and images: load once and re-use in multiple locations. Good idea.

So that would mean when you are designing complex layouts it would be an advantage to use blocks that are all the same type (or as much as possible).
Using Internet Explorer 6 on the internet is like urinating in a public swimming pool.
It's rude, there's no excuse for it, and anyone who does it should be ashamed of themselves.

feline

#10
19. Sep 2009, 20:50:01
Quote from: antechinus on 19. Sep 2009, 10:38:03
So that would mean when you are designing complex layouts it would be an advantage to use blocks that are all the same type (or as much as possible).

Yes, that is the basic design of the PortaMx.
Look at the sources .. we have ONE basic class (PortaMx_BlocksClass.php). These basic class make all things around the block .. show it or not, the access, title, collapse and the frame.
For the content itself -also that what show IN the block- we have a lot of subclasses like php, html, user, stats and more.

If you have a php block as example, a new object phpblock is created. This calls the contructor of the basic class with the blocksettings. Now the basic class contructor checks the access, the dynamic visibility and more. Then it return TRUE if the block set to show otherwise FALSE.
The main routine now destroy the object on FALSE or call the object::init() on TRUE.

The basic class itself have only a empty init() methode, these is often overwrite by subclasses, so have the subclass a init() methode, this is now called. The init() methode now can make database calls and/or fill the content.

At leat, the Template calls the show() methode of each block. The basic class have only a simple show() methode .. like echo $this->content. These show() methode is also often overwrite by subclasses, for a php block as example the show() methode have a echo eval($this->content).

And here on more example:
You need a specially php block, there have one or more additional features. How do that?
Easy .. create a new class (phpextend) with the additional features and use the parents phpclass and basicclass.
Now, if you call the phpextend contructor, these calls the phpclass contructor and these the basicclass contructor in the follow order:
phpextent:
call php contructor
init phpextent
return

php:
call phpbasic contructor
init php
return

basic:
init basic
return

You see what OOP do for you?
And based on these structure it's very ease to create new blocktypes ...

Fel

Many are stubborn in relation to the path, a few in relation to the target.

antechinus

#11
20. Sep 2009, 00:05:17
Ok, this is starting to make sense to me now. Sounds good. :)
Using Internet Explorer 6 on the internet is like urinating in a public swimming pool.
It's rude, there's no excuse for it, and anyone who does it should be ashamed of themselves.

Tyrsson

#12
20. Sep 2009, 00:23:05
And this is why Fel rocks!!

Thanks for the inside look at how its laid out in PortaMX. It helps a lot for those of us that are just getting into coding in OOP.

bancherd

#13
20. Sep 2009, 00:51:26
That's why I switched over to PortaMx the moment it came out  :D

I wanted to use almost identical blocks in many different areas, and it was painful if your block is complex and have function calls.
With PortaMX, I just create a blocktype and that was it.  I can call it many times, put it anywhere....without having to write more codes.  O0

redsew

#14
03. Oct 2009, 06:16:59
Today, PortaMX is the best portal in my opinion. TinyPortal is only supporting 1.0 so far, MKPortal is not active, EzPortal has to grow more, Simple Portal is good, but all the features are not as what ppl want.

If you put up a poll in a general voting website, I would rate it 10, and I would also say that everyone would vote it as 10.
You got my vote Fel ;D 8) ;) O0 :D ^-^ :)

Go Up