2022-02-23 14:55:53 +01:00
# phpxpress
2022-02-26 17:31:18 +01:00
PhpXpress' goal is to create a simple way to programmatically manage Bootstrap elements.
It's similar to Microsoft's WebForms with a great layout by default (like DevExpress).
## Available components
* Table
* Card
## Example
### Table
2022-02-23 14:55:53 +01:00
The following code
```
2022-02-26 17:31:18 +01:00
$employees = array($employee1, $employee2, $employee3);
2022-02-23 14:55:53 +01:00
2022-02-23 18:22:52 +01:00
$table = new Table;
$table->setDataSource($employees);
2022-03-03 12:33:36 +01:00
2022-02-26 17:31:18 +01:00
$table->setCustomCaptions(array("Name", "Surname", "Date of Birth", "Social Security Number")); //not required. If not specified it'll use objects' property names
2022-03-03 12:33:36 +01:00
2022-02-23 18:22:52 +01:00
$table->setStripedRows(true);
$table->setBordered(true);
$table->setHoverAnimation(true);
2022-03-03 12:33:36 +01:00
2022-02-23 18:22:52 +01:00
$table->draw();
2022-02-23 14:55:53 +01:00
```
2022-02-26 17:31:18 +01:00
produces the following output
2022-02-23 18:22:52 +01:00
< img src = "/phpxpress/examples/demoTable.jpg" alt = "Demo" >
2022-02-26 17:31:18 +01:00
### Card
The follwing code
```
Card::beginCardGroupLayout(36);
$card1 = new Card;
2022-03-03 12:33:36 +01:00
2022-02-26 17:31:18 +01:00
$card1->setImageSource("colosseum.jpg");
2022-03-03 12:33:36 +01:00
2022-02-26 17:31:18 +01:00
$card1->setTitle("Rome");
$card1->setSubTitle("Capital of Italy");
2022-03-03 12:33:36 +01:00
2022-02-26 17:31:18 +01:00
$card1->setInnerText("After the foundation by Romulus according to a legend, Rome was ruled for a period of 244 years by a monarchical system, initially with sovereigns of Latin and Sabine origin, later by Etruscan kings.");
2022-03-03 12:33:36 +01:00
2022-02-26 17:31:18 +01:00
$card1->setFooterText("Image By John");
2022-03-03 12:33:36 +01:00
2022-02-26 17:31:18 +01:00
$card1->addField("Mayor", "Roberto Gualtieri");
$card1->addField("Inhabitants", "2.763.804");
$card1->AddField("Zip", "001XX");
2022-03-03 12:33:36 +01:00
2022-02-26 17:31:18 +01:00
$card1->setButton("More info", "https://en.wikipedia.org/wiki/Rome");
2022-03-03 12:33:36 +01:00
2022-02-26 17:31:18 +01:00
$card1->draw();
class City{
2022-02-28 00:51:10 +01:00
public $Mayor;
2022-02-26 17:31:18 +01:00
public $Inhabitants;
public $Zip;
}
$paris = new City;
$paris->Mayor = "Anne Hidalgo";
$paris->Inhabitants = "2.229.095";
$paris->Zip = "750XX";
$card2 = new Card;
$card2->setImageSource("paris.jpg");
$card2->setTitle("Paris");
$card2->setSubTitle("Capital of France");
$card2->setInnerText("The following fields' name & data will be acquired by the datasource.");
$card2->setDataSource($paris);
$card2->setButton("More info", "https://en.wikipedia.org/wiki/Paris");
$card2->draw();
Card::endCardGroupLayout();
```
produces the following output
< img src = "/phpxpress/examples/card.jpg" alt = "Demo" >
$card2 receives a DataSource whereas $card1 does not.