refactor: rename for() to from() for consistency with MySQL syntax (#46)

This commit is contained in:
Victor Westerlund 2025-06-08 12:01:21 +02:00
parent 86f8f2ee76
commit 00cb7b3297
Signed by: vlw
GPG key ID: D0AD730E1057DFC6
2 changed files with 26 additions and 18 deletions

View file

@ -4,7 +4,7 @@ This is a simple abstraction library for MySQL DML operations.
For example: For example:
```php ```php
MySQL->for(string $table) MySQL->from(string $table)
->where(?array ...$conditions) ->where(?array ...$conditions)
->order(?array $order_by) ->order(?array $order_by)
->limit(?int $limit = null, ?int $offset = null) ->limit(?int $limit = null, ?int $offset = null)
@ -63,24 +63,24 @@ $db = new MySQL($host, $user, $pass, $db);
All executor methods [`select()`](#select), [`update()`](#update), and [`insert()`](#insert) will return a [`mysqli_result`](https://www.php.net/manual/en/class.mysqli-result.php) object or boolean. All executor methods [`select()`](#select), [`update()`](#update), and [`insert()`](#insert) will return a [`mysqli_result`](https://www.php.net/manual/en/class.mysqli-result.php) object or boolean.
# FOR # FROM
```php ```php
MySQL->for( MySQL->from(
string $table string $table
): self; ): self;
``` ```
All queries start by chaining the `for(string $table)` method. This will define which database table the current query should be executed on. All queries start by chaining the `from(string $table)` method. This will define which database table the current query should be executed on.
*Example:* *Example:*
```php ```php
MySQL->for("beverages")->select("beverage_type"); MySQL->from("beverages")->select("beverage_type");
``` ```
# SELECT # SELECT
Chain `MySQL->select()` anywhere after a [`MySQL->for()`](#for) to retrieve columns from a database table. Chain `MySQL->select()` anywhere after a [`MySQL->from()`](#from) to retrieve columns from a database table.
Pass an associative array of strings, CSV string, or null to this method to filter columns. Pass an associative array of strings, CSV string, or null to this method to filter columns.
@ -94,7 +94,7 @@ In most cases you probably want to select with a constraint. Chain the [`where()
### Example ### Example
```php ```php
$`beverages` = MySQL->for("beverages")->select(["beverage_name", "beverage_size"]); // SELECT `beverage_name`, `beverage_size` FROM beverages $`beverages` = MySQL->from("beverages")->select(["beverage_name", "beverage_size"]); // SELECT `beverage_name`, `beverage_size` FROM beverages
``` ```
``` ```
[ [
@ -112,7 +112,7 @@ $`beverages` = MySQL->for("beverages")->select(["beverage_name", "beverage_size"
# INSERT # INSERT
Chain `MySQL->insert()` anywhere after a [`MySQL->for()`](#for) to append a new row to a database table. Chain `MySQL->insert()` anywhere after a [`MySQL->from()`](#from) to append a new row to a database table.
Passing a sequential array to `insert()` will assume that you wish to insert data for all defined columns in the table. Pass an associative array of `[column_name => value]` to INSERT data for specific columns (assuming the other columns have a [DEFAULT](https://dev.mysql.com/doc/refman/8.0/en/data-type-defaults.html) value defined). Passing a sequential array to `insert()` will assume that you wish to insert data for all defined columns in the table. Pass an associative array of `[column_name => value]` to INSERT data for specific columns (assuming the other columns have a [DEFAULT](https://dev.mysql.com/doc/refman/8.0/en/data-type-defaults.html) value defined).
@ -127,7 +127,7 @@ MySQL->insert(
#### Example #### Example
```php ```php
MySQL->for("beverages")->insert([ MySQL->from("beverages")->insert([
null, null,
"coffee", "coffee",
"latte", "latte",
@ -141,7 +141,7 @@ true
# DELETE # DELETE
Chain `MySQL->delete()` anywhere after a [`MySQL->for()`](#for) to remove a row or rows from the a database table. Chain `MySQL->delete()` anywhere after a [`MySQL->from()`](#from) to remove a row or rows from the a database table.
```php ```php
MySQL->delete( MySQL->delete(
@ -155,7 +155,7 @@ This method takes at least one [`MySQL->where()`](#where)-syntaxed argument to d
#### Example #### Example
```php ```php
MySQL->for("beverages")->delete([ MySQL->from("beverages")->delete([
"beverage_name" => "coffee", "beverage_name" => "coffee",
]); ]);
// DELETE FROM `beverages` WHERE `beverage_name` = "coffee"; // DELETE FROM `beverages` WHERE `beverage_name` = "coffee";
@ -166,7 +166,7 @@ true
# UPDATE # UPDATE
Chain `MySQL->update()` anywhere after a [`MySQL->for()`](#for) to modify existing rows in a database table. Chain `MySQL->update()` anywhere after a [`MySQL->from()`](#from) to modify existing rows in a database table.
```php ```php
MySQL->update( MySQL->update(
@ -178,7 +178,7 @@ MySQL->update(
### Example ### Example
```php ```php
MySQL->for("beverages")->update(["beverage_size" => 10]); // UPDATE `beverages` SET `beverage_size` = 10 MySQL->from("beverages")->update(["beverage_size" => 10]); // UPDATE `beverages` SET `beverage_size` = 10
``` ```
```php ```php
true true
@ -201,7 +201,7 @@ MySQL->where(
### Example ### Example
```php ```php
$coffee = MySQL->for("beverages")->where(["beverage_type" => "coffee"])->select(["beverage_name", "beverage_size"]); // SELECT `beverage_name`, `beverage_size` FROM `beverages` WHERE (`beverage_type` = "coffee"); $coffee = MySQL->from("beverages")->where(["beverage_type" => "coffee"])->select(["beverage_name", "beverage_size"]); // SELECT `beverage_name`, `beverage_size` FROM `beverages` WHERE (`beverage_type` = "coffee");
``` ```
```php ```php
[ [
@ -284,7 +284,7 @@ MySQL->order(
``` ```
```php ```php
$coffee = MySQL->for("beverages")->order(["beverage_name" => "ASC"])->select(["beverage_name", "beverage_size"]); // SELECT `beverage_name`, `beverage_size` FROM `beverages` ORDER BY `beverage_name` ASC $coffee = MySQL->from("beverages")->order(["beverage_name" => "ASC"])->select(["beverage_name", "beverage_size"]); // SELECT `beverage_name`, `beverage_size` FROM `beverages` ORDER BY `beverage_name` ASC
``` ```
```php ```php
[ [
@ -315,7 +315,7 @@ MySQL->limit(
This will simply `LIMIT` the results returned to the integer passed This will simply `LIMIT` the results returned to the integer passed
```php ```php
$coffee = MySQL->for("beverages")->limit(1)->select(["beverage_name", "beverage_size"]); // SELECT `beverage_name`, `beverage_size` FROM `beverages` WHERE `beverage_type` = "coffee" LIMIT 1 $coffee = MySQL->from("beverages")->limit(1)->select(["beverage_name", "beverage_size"]); // SELECT `beverage_name`, `beverage_size` FROM `beverages` WHERE `beverage_type` = "coffee" LIMIT 1
``` ```
```php ```php
[ [
@ -330,7 +330,7 @@ $coffee = MySQL->for("beverages")->limit(1)->select(["beverage_name", "beverage_
This will `OFFSET` and `LIMIT` the results returned. The first argument will be the `LIMIT` and the second argument will be its `OFFSET`. This will `OFFSET` and `LIMIT` the results returned. The first argument will be the `LIMIT` and the second argument will be its `OFFSET`.
```php ```php
$coffee = MySQL->for("beverages")->limit(3, 2)->select(["beverage_name", "beverage_size"]); // SELECT `beverage_name`, `beverage_size` FROM `beverages` LIMIT 3 OFFSET 2 $coffee = MySQL->from("beverages")->limit(3, 2)->select(["beverage_name", "beverage_size"]); // SELECT `beverage_name`, `beverage_size` FROM `beverages` LIMIT 3 OFFSET 2
``` ```
```php ```php
[ [

View file

@ -66,7 +66,7 @@
*/ */
// Use the following table name // Use the following table name
public function for(string $table): self { public function from(string $table): self {
// Reset all definers when a new query begins // Reset all definers when a new query begins
$this->where(); $this->where();
$this->limit(); $this->limit();
@ -76,6 +76,14 @@
return $this; return $this;
} }
#[\Deprecated(
message: "use MySQL->from() instead",
since: "2.1.5",
)]
public function for(string $table): self {
$this->from($table);
}
// Create a WHERE statement from filters // Create a WHERE statement from filters
public function where(?array ...$conditions): self { public function where(?array ...$conditions): self {
// Unset filters if null was passed // Unset filters if null was passed