A super easy PHP Framework for web development! https://github.com/exacti/phacil-framework
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

77 lines
1.6 KiB

<?php
/**
* Copyright © 2023 ExacTI Technology Solutions. All rights reserved.
* GPLv3 General License.
* https://exacti.com.br
* Phacil PHP Framework - https://github.com/exacti/phacil-framework
*/
namespace Phacil\Framework\MagiQL\Api;
use Phacil\Framework\MagiQL\Api\QueryInterface;
/**
* Interface BuilderInterface.
*/
interface BuilderInterface
{
/**
* @param QueryInterface $query
*
* @return string
*/
public function write(QueryInterface $query);
/**
* @param QueryInterface $query
*
* @return string
*/
public function writeFormatted(QueryInterface $query);
/**
* @param \Phacil\Framework\MagiQL\Syntax\Table $table
* @return string
*/
public function writeTable(\Phacil\Framework\MagiQL\Syntax\Table $table);
/**
* Returns the table name.
*
* @param \Phacil\Framework\MagiQL\Syntax\Table $table
*
* @return string
*/
public function writeTableName(\Phacil\Framework\MagiQL\Syntax\Table $table);
/**
* @param string $value
*
* @return string
*/
public function writePlaceholderValue($value);
/**
* @param string $alias
*
* @return string
*/
public function writeColumnAlias($alias);
/**
* @param $alias
*
* @return mixed
*/
public function writeTableAlias($alias);
/**
* Returns the column name.
*
* @param \Phacil\Framework\MagiQL\Syntax\Column $column
*
* @return string
*/
public function writeColumnName(\Phacil\Framework\MagiQL\Syntax\Column $column);
}