69 lines
1.9 KiB
Markdown
69 lines
1.9 KiB
Markdown
# php-func-lib
|
|
|
|
Kleine PHP-Utility-Bibliothek mit wiederverwendbaren Helfern fuer:
|
|
|
|
- Strings und einfache Sanitization
|
|
- Zahlenformatierung
|
|
- SQL-Zugriffe (mysqli + prepared statements)
|
|
- Mailversand
|
|
- Link/OpenGraph-Metadaten
|
|
- Debug-Helfer
|
|
- Troy-/Gitea-API-Aufrufe
|
|
|
|
## Installation
|
|
|
|
Als Git-Submodule in ein Projekt einbinden:
|
|
|
|
```bash
|
|
git submodule add https://git.seemsleg.it/pub/php-func-lib lib
|
|
```
|
|
|
|
Danach je nach Bedarf einzelne Dateien einbinden oder zentral ueber `_func.php` laden.
|
|
|
|
## Schnellstart
|
|
|
|
```php
|
|
<?php
|
|
include_once __DIR__ . '/lib/_func.php';
|
|
|
|
echo shortener("Ein sehr langer Text", 10); // "Ein sehr..."
|
|
echo decade(12345); // "12.345 K" (je nach PHP-Konvertierung)
|
|
```
|
|
|
|
## Module
|
|
|
|
- `string.php`: String-Helfer (`shortener`, `onlyAlpha`, `startsWith`, `endsWith`, `linkify`, ...)
|
|
- `numbers.php`: Zahlen-Helfer (`decade`, `onlyNumeric`)
|
|
- `sql.php`: Klasse `SQL` fuer Datenbankzugriffe (`get`, `single`, `list`, `keyval`, `set`)
|
|
- `mail.php`: Mailfunktionen (`send_mail`, `send_html_mail`, `send_php_mail`)
|
|
- `link-meta.php`: URL-Validierung, Fetching, Meta-Parsing, Bilddownload, Tag-Sanitization
|
|
- `og.php`: Einfacher OG-Scan (`scanOG`)
|
|
- `troy-api.php`: API-Helfer fuer Troy/Gitea (`sendToTroy`, `sendToGitea`)
|
|
- `debug.php`: Cookie-basierte Debug-Ausgabe
|
|
- `markdown.php`: einfache Markdown-nahe Formatierung (`md`)
|
|
|
|
## Konfiguration
|
|
|
|
Einige Module erwarten ein lokales `secret.php` (siehe `secret.php.example`), z. B. fuer:
|
|
|
|
- SQL-Zugangsdaten in `sql.php`
|
|
- optionale Absenderadresse in `mail.php`
|
|
- Gitea-Parameter in `troy-api.php`
|
|
|
|
## Beispiel: Seitenmetadaten lesen
|
|
|
|
```php
|
|
<?php
|
|
include_once __DIR__ . '/lib/link-meta.php';
|
|
|
|
$info = getPageInfo('https://example.org');
|
|
if ($info['ok']) {
|
|
echo $info['title'];
|
|
}
|
|
```
|
|
|
|
## Hinweise
|
|
|
|
- Die Bibliothek ist bewusst leichtgewichtig und ohne Composer-Setup gehalten.
|
|
- Einzelne Funktionen sind historisch gewachsen; fuer geplante Verbesserungen siehe `next_steps.md`.
|