PHP code example of schenke-io / laravel-sheet-base
1. Go to this page and download the library: Download schenke-io/laravel-sheet-base library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
schenke-io / laravel-sheet-base example snippets
use SchenkeIo\LaravelSheetBase\Elements\SheetBaseSchema;
class MySchema extends SheetBaseSchema
{
public function define(): void
{
$this->addId();
$this->addString('name');
}
}
class MySchema extends SheetBaseSchema
{
public function define(): void
{
$concat = function ($key, $row) {
return ($row[$key] ?? '?').' '.$row['c'];
};
$this->addId();
$this->addString('name');
$this->addClosure('name2', $concat);
}
}
// App\MyEndPoints\MyData
class MyData extends EndpointWriteNeon
{
public string $path = 'directory/data2.neon';
}
// App\MyEndpoints\PhpRead
class PhpRead extends EndpointReadArray{
public function getArray(): array
{
// do magic
return [
1 => ['a' => 1, 'b' => 2],
2 => ['a' => 4, 'b' => 5],
];
}
}
// App\MyEndpoints\PhpWrite
class PhpWrite extends EndpointWriteArray{
public function releasePipeline(PipelineData $pipelineData, string $writingClass): void
{
$this->arrayData = $pipelineData->toArray();
# do magic with $this->arrayData
}
}
// App\MyEndpoints\LanguageSchema
class LanguageSchema extends SheetBaseSchema
{
protected function define(): void
{
$this->addDot('key'); // must be first, name can be different
$this->addLanguage('de'); // only language codes as column names
$this->addLanguage('en');
}
}
// App\MyEndpoints\LanguageTarget
class LanguageTarget extends EndpointWriteLang
{
// were to write the language files
public string $root = '/';
// which first parts of the dot-keys should result in files
public array $fileBases = ['home'];
}
class GoogleSheetLang extends EndpointReadGoogleSheet
{
public string $spreadsheetId = '1ttfjdfdjfdfjdfdjfdfdkfdfdQkGDE';
// or: public string $spreadsheetId = 'File-Main';
public string $sheetName = 'Sheet1';
}
// in config/sheet-base.php
'pipelines' => [
.....
],
'spreadsheets' => [
'File-Main' => '1ttfjdfdjfdfjdfdjfdfdkfdfdQkGDE'
]