本文整理汇总了PHP中Object::writeln方法的典型用法代码示例。如果您正苦于以下问题:PHP Object::writeln方法的具体用法?PHP Object::writeln怎么用?PHP Object::writeln使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Object
的用法示例。
在下文中一共展示了Object::writeln方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: execute
/**
* Executa comando
*
* @param Object $oInput
* @param Object $oOutput
* @access public
* @return void
*/
public function execute($oInput, $oOutput)
{
$oOutput->write("baixando atualizações...\r");
$oComando = $this->getApplication()->execute('cvs update -dRP');
$aRetornoComandoUpdate = $oComando->output;
$iStatusComandoUpdate = $oComando->code;
/**
* Caso CVS encontre conflito, retorna erro 1
*/
if ($iStatusComandoUpdate > 1) {
$oOutput->writeln('<error>Erro nº ' . $iStatusComandoUpdate . ' ao execurar cvs update -dR:' . "\n" . $this->getApplication()->getLastError() . '</error>');
return $iStatusComandoUpdate;
}
$oOutput->writeln(str_repeat(' ', \Shell::columns()) . "\r" . "Atualizações baixados");
$sComandoRoot = '';
/**
* Senha do root
*/
$sSenhaRoot = $this->getApplication()->getConfig('senhaRoot');
/**
* Executa comando como root
* - caso for existir senha no arquivo de configuracoes
*/
if (!empty($sSenhaRoot)) {
$sComandoRoot = "echo '{$sSenhaRoot}' | sudo -S ";
}
$oComando = $this->getApplication()->execute($sComandoRoot . 'chmod 777 -R ' . getcwd());
$aRetornoComandoPermissoes = $oComando->output;
$iStatusComandoPermissoes = $oComando->code;
if ($iStatusComandoPermissoes > 0) {
throw new Exception("Erro ao atualizar permissões dos arquivos, configura a senha do root: cvsgit config -e");
}
}
示例2: execute
/**
* Executa comando
*
* @param Object $oInput
* @param Object $oOutput
* @access public
* @return void
*/
public function execute($oInput, $oOutput)
{
$oParametros = new \StdClass();
$oParametros->aArquivos = $oInput->getArgument('arquivos');
$oParametros->iTag = ltrim(strtoupper($oInput->getOption('tag')), 'T');
$oParametros->aMensagens = $oInput->getOption('message');
$oParametros->sData = $oInput->getOption('date');
$oArquivoModel = new ArquivoModel();
$aArquivosCommitados = $oArquivoModel->getCommitados($oParametros);
if (empty($aArquivosCommitados)) {
throw new \Exception("Nenhum arquivo encontrado.");
}
$oOutput->writeln("");
$oBuscaOutputFormatter = new OutputFormatterStyle('red', null, array());
$oOutput->getFormatter()->setStyle('busca', $oBuscaOutputFormatter);
foreach ($aArquivosCommitados as $oDadosCommit) {
$sTitulo = "- <comment>" . date('d/m/Y', strtotime($oDadosCommit->date)) . "</comment> as " . date('H:s:i', strtotime($oDadosCommit->date));
$sTitulo .= " " . count($oDadosCommit->aArquivos) . " arquivo(s) commitado(s)";
$oOutput->writeln($sTitulo);
if (!empty($oDadosCommit->title)) {
$oOutput->writeln("\n " . $oDadosCommit->title);
}
$oTabela = new \Table();
$oTabela->setHeaders(array('1', '1', '1', '1'));
foreach ($oDadosCommit->aArquivos as $oArquivo) {
$sArquivo = $this->getApplication()->clearPath($oArquivo->name);
$sTag = $oArquivo->tag;
$sMensagem = $oArquivo->message;
foreach ($oParametros->aArquivos as $sParametroArquivo) {
$sArquivo = $this->colorirBusca($sArquivo, $sParametroArquivo, 'busca');
}
if (!empty($oParametros->iTag)) {
$sTag = $this->colorirBusca($oArquivo->tag, $oParametros->iTag, 'busca');
}
if (!empty($oParametros->aMensagens)) {
foreach ($oParametros->aMensagens as $sMensagemBuscar) {
$sMensagem = $this->colorirBusca($sMensagem, $sMensagemBuscar, 'busca');
}
}
$oTabela->addRow(array($oArquivo->type, " {$sArquivo}", " {$sTag}", " {$sMensagem}"));
}
$oOutput->writeln(" " . str_replace("\n", "\n ", $oTabela->render(true)));
}
}
示例3: runProcess
/**
* Runs the commands given
*
* @return void
* @author Dan Cox
*/
public function runProcess($command)
{
$args = explode(' ', $this->DI->get('mask')->replace($command));
$p = $this->hasDefinition($args);
if (!$p) {
$process = $this->DI->get('skeletonprocess');
$process->build(['directory' => $this->input->getArgument('directory'), 'verbose' => $this->input->getOption('output') ? TRUE : FALSE]);
$p = $process->setArguments($args)->getProcess();
}
try {
$p->mustRun();
$cmd = $p->getCommandLine();
} catch (\Exception $e) {
$this->output->writeln($e->getMessage());
return false;
}
$this->output->writeln("Successfully ran command: {$cmd}");
return true;
}
示例4: execute
/**
* Executa o comando
*
* @param Object $oInput
* @param Object $oOutput
* @access public
* @return void
*/
public function execute($oInput, $oOutput)
{
$lImportarHistorico = $oInput->getOption('import');
$oParametros = new StdClass();
$oParametros->aArquivos = $oInput->getArgument('arquivos');
$oParametros->iTag = $oInput->getOption('tag');
$oParametros->aMensagens = $oInput->getOption('message');
$oParametros->sUsuario = $oInput->getOption('user');
$oParametros->sData = $oInput->getOption('date');
$this->oOutput = $oOutput;
$this->oInput = $oInput;
$this->oModel = $this->getApplication()->getModel();
$this->oDataBase = $this->oModel->getDataBase();
if (!empty($lImportarHistorico)) {
return $this->importarHistorico();
}
$aHistorico = $this->getHistorico($oParametros);
if (empty($aHistorico)) {
throw new Exception("Histórico não encontrado.");
}
$oTabela = new Table();
$oTabela->setHeaders(array('Arquivo', 'Autor', 'Data', 'Hora', 'Versão', 'Tag', 'Mensagem'));
foreach ($aHistorico as $oArquivo) {
$sArquivo = $this->getApplication()->clearPath($oArquivo->name);
$sAutor = $oArquivo->author;
$sData = date('d/m/Y', strtotime($oArquivo->date));
$sHora = date('H:i:s', strtotime($oArquivo->date));
$sVersao = $oArquivo->revision;
$sTags = implode(',', $oArquivo->tags);
$sMensagem = Encode::toUTF8($oArquivo->message);
$oTabela->addRow(array($sArquivo, $sAutor, $sData, $sHora, $sVersao, $sTags, $sMensagem));
}
$sOutput = $oTabela->render();
$iColunas = array_sum($oTabela->getWidths());
$iColunas += count($oTabela->getWidths()) * 2;
$iColunas += count($oTabela->getWidths()) - 1;
if ($iColunas > \Shell::columns()) {
$this->getApplication()->less($sOutput);
return;
}
$oOutput->writeln($sOutput);
}
示例5: execute
/**
* Executa o comando
*
* @param Object $oInput
* @param Object $oOutput
* @access public
* @return void
*/
public function execute($oInput, $oOutput)
{
$this->sArquivoConfiguracoes = CONFIG_DIR . basename($this->getApplication()->getModel()->getProjeto()->name) . '_config.json';
if ($oInput->getOption('restart')) {
$this->criarArquivoConfiguracoes();
$oOutput->writeln("<info>Configurações reiniciadas.</info>");
return;
}
if (!file_exists($this->sArquivoConfiguracoes)) {
$this->criarArquivoConfiguracoes();
}
/**
* Editar usando editor
*/
if ($oInput->getOption('edit')) {
$iStatus = $this->editarArquivoConfiguracoes();
if ($iStatus > 0) {
throw new Exception('Não foi possivel editar configurações');
}
return $iStatus;
}
$oConfig = new Config($this->sArquivoConfiguracoes);
$sOutput = PHP_EOL;
$aIgnore = $oConfig->get('ignore');
$iTagRelease = $oConfig->get('tag')->release;
$tagsSprint = $oConfig->get('tag')->sprint;
$sOutput .= "- <comment>Arquivo:</comment> " . PHP_EOL;
$sOutput .= " " . $this->sArquivoConfiguracoes . PHP_EOL;
/**
* Ignorar
*/
if (!empty($aIgnore)) {
$sOutput .= PHP_EOL;
$sOutput .= "- <comment>Ignorar:</comment>" . PHP_EOL;
$sOutput .= ' ' . implode(PHP_EOL . ' ', $aIgnore) . PHP_EOL;
}
/**
* Tags
*/
if (!empty($iTagRelease) || !empty($tagsSprint)) {
$sOutput .= PHP_EOL;
$sOutput .= "- <comment>Tags:</comment>" . PHP_EOL;
if (!empty($iTagRelease)) {
$sOutput .= PHP_EOL;
$sOutput .= " <comment>Release:</comment>" . PHP_EOL;
$sOutput .= ' ' . $iTagRelease . PHP_EOL;
}
if (!empty($tagsSprint)) {
if (is_array($tagsSprint)) {
$sOutput .= PHP_EOL;
$sOutput .= " <comment>Sprint:</comment>" . PHP_EOL;
$sOutput .= ' ' . implode(', ', $tagsSprint) . PHP_EOL;
}
if (is_object($tagsSprint)) {
$sOutput .= PHP_EOL;
$sOutput .= " <comment>Sprint:</comment>" . PHP_EOL;
foreach ($tagsSprint as $sTag => $sDescricao) {
$sOutput .= ' ' . $sTag;
if (!empty($sDescricao)) {
$sOutput .= ': ' . $sDescricao;
}
$sOutput .= PHP_EOL;
}
}
}
}
$oOutput->writeln($sOutput);
}
示例6: execute
/**
* Executa comando
*
* @param Object $oInput
* @param Object $oOutput
* @access public
* @return void
*/
public function execute($oInput, $oOutput)
{
if (!file_exists('CVS/Repository')) {
throw new Exception('Diretório atual não é um repositorio CVS.');
}
$sDiretorioAtual = getcwd();
$sRepositorio = trim(file_get_contents('CVS/Repository'));
$sArquivoBanco = CONFIG_DIR . $sRepositorio . '.db';
$sArquivoConfig = CONFIG_DIR . $sRepositorio . '_config.json';
/**
* Força inicialização do projeto
*/
if ($oInput->getOption('force')) {
/**
* Remove arquivo do banco de dados
*/
if (file_exists($sArquivoBanco)) {
if (!unlink($sArquivoBanco)) {
throw new Exception("Não foi possivel remover banco de dados: " . $sArquivoBanco);
}
}
/**
* Remove arquivo de configuração
*/
if (file_exists($sArquivoConfig)) {
if (!unlink($sArquivoConfig)) {
throw new Exception("Não foi possivel remover configurações: " . $sArquivoConfig);
}
}
}
/**
* Arquivo já existe, verifica se projeto já foi inicializado
*/
if (file_exists($sArquivoBanco)) {
$oDataBase = new FileDataBase($sArquivoBanco);
$aProjetos = $oDataBase->selectAll("select name, path from project where name = '{$sRepositorio}' or path = '{$sDiretorioAtual}'");
/**
* Diretorio atual ja inicializado
*/
foreach ($aProjetos as $oProjeto) {
if ($oProjeto->name == $sRepositorio || $oProjeto->path == $sDiretorioAtual) {
$oOutput->writeln(sprintf('<info>"%s" já inicializado</info>', $sRepositorio));
return true;
}
}
}
/**
* Diretório onde aplicação guarda arquivos de configuracão e banco de dados
*/
if (!is_dir(CONFIG_DIR) && !mkdir(CONFIG_DIR)) {
throw new Exception('Não foi possivel criar diretório: ' . CONFIG_DIR);
}
/**
* Cria copia do arquivo do banco
*/
$lArquivoConfiguracoes = copy(APPLICATION_DIR . 'cvsgit/install/config.json', $sArquivoConfig);
if (!$lArquivoConfiguracoes) {
throw new Exception("Não foi possivel criar arquivo de configurações no diretório: " . $sArquivoConfig);
}
/**
* Cria copia do arquivo de configuracao
*/
$lArquivoBancoDados = copy(APPLICATION_DIR . 'cvsgit/install/cvsgit.db', $sArquivoBanco);
if (!$lArquivoBancoDados) {
throw new Exception("Não foi possivel criar arquivo do banco de dados no diretório: " . CONFIG_DIR);
}
$oDataBase = new FileDataBase($sArquivoBanco);
$oDataBase->begin();
$oDataBase->insert('project', array('name' => $sRepositorio, 'path' => $sDiretorioAtual, 'date' => date('Y-m-d H:i:s')));
$oOutput->writeln(sprintf('<info>"%s" inicializado</info>', $sRepositorio));
$oDataBase->commit();
}
示例7: execute
//.........这里部分代码省略.........
if ($lRemovidos) {
$sArquivosRemovidos = '';
foreach ($aRemovidos as $oArquivoRemovido) {
if (in_array($oArquivoRemovido->sArquivo, $aArquivosParaCommit)) {
continue;
}
$sArquivosRemovidos .= "\n " . $oArquivoRemovido->sArquivo;
$aTabelaModificacoes['R'][] = $oArquivoRemovido->sArquivo;
}
if (!empty($sArquivosRemovidos)) {
$sStatusOutput .= "\n- Arquivos marcados como removido: ";
$sStatusOutput .= "\n <info>{$sArquivosRemovidos}</info>\n";
}
$sArquivosRemovidosLocal = '';
foreach ($aRemovidosLocal as $oArquivoRemovidoLocal) {
if (in_array($oArquivoRemovidoLocal->sArquivo, $aArquivosParaCommit)) {
continue;
}
$sArquivosRemovidosLocal .= "\n " . $oArquivoRemovidoLocal->sArquivo;
$aTabelaModificacoes['-'][] = $oArquivoRemovidoLocal->sArquivo;
}
if (!empty($sArquivosRemovidosLocal)) {
$sStatusOutput .= "\n- Arquivos removidos do projeto local: ";
$sStatusOutput .= "\n <error>{$sArquivosRemovidosLocal}</error>\n";
}
}
/**
* Tabela
* - Lista modificações em tableas
*/
if ($lTabela) {
$oTabela = new \Table();
$oTabela->setHeaders(array('Tipo', 'Arquivo'));
foreach ($aTabelaModificacoes as $sTipo => $aArquivosModificacao) {
$sTipoModificacao = "[{$sTipo}] " . strtr($sTipo, $this->aTiposCommit);
foreach ($aArquivosModificacao as $sArquivoModificacao) {
$oTabela->addRow(array($sTipoModificacao, $sArquivoModificacao));
}
}
if (!empty($aTabelaModificacoes)) {
$sStatusOutputTabela .= "\nModificações nao tratadas: \n";
$sStatusOutputTabela .= $oTabela->render();
}
}
/**
* Push
* - arquivos para commit
*/
if ($lPush) {
/**
* Tabela
* - Lista arquivos prontos para commit em tabela
*/
if ($lTabela) {
$oTabelaCommit = new \Table();
$oTabelaCommit->setHeaders(array('Arquivo', 'Tag Mensagem', 'Tag Arquivo', 'Mensagem', 'Tipo'));
foreach ($aArquivos as $oCommit) {
$sTipo = $oCommit->getTipo();
switch ($oCommit->getComando()) {
case Arquivo::COMANDO_ADICIONAR_TAG:
$sTipo = 'Adicionar tag';
break;
case Arquivo::COMANDO_REMOVER_TAG:
$sTipo = 'Remover tag';
break;
}
$oTabelaCommit->addRow(array($this->getApplication()->clearPath($oCommit->getArquivo()), $oCommit->getTagMensagem(), $oCommit->getTagArquivo(), $oCommit->getMensagem(), $sTipo));
}
if (!empty($aArquivos)) {
$sStatusOutputTabela .= "\nArquivos prontos para commit: \n";
$sStatusOutputTabela .= $oTabelaCommit->render();
}
}
/**
* Sem tabela
* - Lista arquivos prontos para commit em linha
*/
if (!$lTabela) {
foreach ($aArquivos as $oCommit) {
$sListaArquivos .= "\n " . $this->getApplication()->clearPath($oCommit->getArquivo()) . " ";
}
if (!empty($sListaArquivos)) {
$sStatusOutput .= "\n- Arquivos prontos para commit: ";
$sStatusOutput .= "\n <info>{$sListaArquivos}</info>\n";
}
}
}
/**
* Nenhuma modifiação encontrada
*/
if (empty($sStatusOutput) && empty($sStatusOutputTabela)) {
$oOutput->writeln('Nenhuma modificação encontrada');
return 0;
}
if ($lTabela) {
$sStatusOutput = $sStatusOutputTabela;
}
$sStatusOutput = ltrim($sStatusOutput, "\n");
$oOutput->writeln($sStatusOutput);
}
示例8: parseCvs
/**
* @param SplFileInfo $file
* @param string $column
* @param null|Object $output
* @param string $delimiter
*
* @return array
*/
public function parseCvs(SplFileInfo $file, $column, $output = null, $delimiter = '|')
{
$parsed = array();
$f = $file->openFile();
while (!$f->eof()) {
$data = $f->fgetcsv($delimiter);
if (count($data) == $column) {
$parsed[] = $data;
} elseif ($output && $data[0]) {
$output->writeln(var_dump($data));
}
$f->next();
}
return $parsed;
}
示例9: execute
//.........这里部分代码省略.........
foreach ($aRetornoComandoTags as $iIndiceTags => $sLinhaRetornoTag) {
if (strpos($sLinhaRetornoTag, 'head:') !== false) {
$iVersaoAtual = trim(str_replace('head:', '', $sLinhaRetornoTag));
continue;
}
if (strpos($sLinhaRetornoTag, 'symbolic names:') !== false) {
$lInicioListaTags = true;
continue;
}
if ($lInicioListaTags) {
if (strpos($sLinhaRetornoTag, 'keyword substitution') !== false) {
break;
}
if (strpos($sLinhaRetornoTag, 'total revisions') !== false) {
break;
}
$aLinhaTag = explode(':', $sLinhaRetornoTag);
$iVersao = trim($aLinhaTag[1]);
$sTag = trim($aLinhaTag[0]);
$aTagsPorVersao[$iVersao][] = $sTag;
}
}
/**
* Lista informacoes do commit, sem as tags
*/
$oComando = $this->getApplication()->execute('cvs log -N ' . escapeshellarg($sArquivo));
$aRetornoComandoInformacoes = $oComando->output;
$iStatusComandoInformacoes = $oComando->code;
if ($iStatusComandoInformacoes > 0) {
throw new Exception('Erro ao execurar cvs log -N ' . escapeshellarg($sArquivo) . PHP_EOL . $this->getApplication()->getLastError(), $iStatusComandoInformacoes);
}
$aLog = array();
$iLinhaInformacaoCommit = 0;
$oTabela = new Table();
$oTabela->setHeaders(array('Autor', 'Data', 'Versao', 'Tag', 'Mensagem'));
$aLinhas = array();
$iVersao = null;
$sAutor = null;
$sData = null;
$sMensagem = null;
foreach ($aRetornoComandoInformacoes as $iIndice => $sLinhaRetorno) {
if (strpos($sLinhaRetorno, '------') !== false) {
continue;
}
if ($iLinhaInformacaoCommit == 0 && $iIndice > 11) {
$sTagsPorVersao = null;
if (!empty($aTagsPorVersao[$iVersao])) {
$sTagsPorVersao = implode(', ', $aTagsPorVersao[$iVersao]);
}
$oTabela->addRow(array($sAutor, $sData, $iVersao, $sTagsPorVersao, Encode::toUTF8($sMensagem)));
$iVersao = '';
$sAutor = '';
$sData = '';
$sMensagem = '';
}
if ($iLinhaInformacaoCommit > 0) {
$iLinhaInformacaoCommit--;
}
/**
* Versao
*/
if (strpos($sLinhaRetorno, 'revision') !== false && strpos($sLinhaRetorno, 'revision') === 0) {
$iLinhaInformacaoCommit = 2;
}
/**
* Versao
*/
if ($iLinhaInformacaoCommit == 2) {
$iVersao = trim(str_replace('revision', '', $sLinhaRetorno));
continue;
}
/**
* Data e autor
*/
if ($iLinhaInformacaoCommit == 1) {
$sLinhaRetorno = strtr($sLinhaRetorno, array('date:' => '', 'author:' => ''));
$aLinhaInformacoesCommit = explode(';', $sLinhaRetorno);
$sLinhaData = array_shift($aLinhaInformacoesCommit);
$aLinhaData = explode(' ', $sLinhaData);
$sData .= implode('/', array_reverse(explode('-', $aLinhaData[1])));
$sAutor = trim(array_shift($aLinhaInformacoesCommit));
continue;
}
/**
* Mensagem
*/
if ($iLinhaInformacaoCommit == 0) {
$sMensagem = $sLinhaRetorno;
}
}
$sOutput = Encode::toUTF8($oTabela->render());
$iColunas = array_sum($oTabela->getWidths());
$iColunas += count($oTabela->getWidths()) * 2;
$iColunas += count($oTabela->getWidths()) - 1;
if ($iColunas > \Shell::columns()) {
$this->getApplication()->less($sOutput);
return;
}
$oOutput->writeln($sOutput);
}
示例10: execute
/**
* Executa comando
*
* @param Object $oInput
* @param Object $oOutput
* @access public
* @return void
*/
public function execute($oInput, $oOutput)
{
$oArquivoModel = new ArquivoModel();
$aArquivosAdicionados = $oArquivoModel->getAdicionados();
$aArquivos = array();
$aOpcoes = array('added', 'delete');
$sComando = null;
$aArquivosParametro = $oInput->getArgument('arquivos');
/**
* Verifica arquivos passados por parametro
*/
foreach ($aArquivosParametro as $sArquivo) {
if (!file_exists($sArquivo)) {
$oOutput->writeln("<error>Arquivo não encontradao: {$sArquivo}</error>");
continue;
}
$sArquivo = realpath($sArquivo);
/**
* Arquivo já adicionado a lista, pega ele
*/
if (!empty($aArquivosAdicionados[$sArquivo])) {
$aArquivos[$sArquivo] = $aArquivosAdicionados[$sArquivo];
continue;
}
$oArquivo = new Arquivo();
$oArquivo->setArquivo($sArquivo);
/**
* Arquivos não adicionados ainda a lista
*/
$aArquivos[$sArquivo] = $oArquivo;
}
/**
* Nenhum arquivo passado por parametro, poe tag em todos os arquivos ja adicionados
*/
if (empty($aArquivos)) {
$aArquivos = $aArquivosAdicionados;
}
foreach ($oInput->getOptions() as $sArgumento => $sValorArgumento) {
if (empty($sValorArgumento) || !in_array($sArgumento, $aOpcoes)) {
continue;
}
if (!empty($sComando)) {
throw new Exception("Mais de uma comando usado(added, delete)");
}
if (empty($sComando)) {
$sComando = $sArgumento;
}
}
if (empty($sComando)) {
$sComando = 'added';
}
/**
* Tag do arquivo, sem prefixo T
*/
$iTag = ltrim(strtoupper($oInput->getArgument('tag')), 'T');
$aArquivosTaggeados = $oArquivoModel->taggear($aArquivos, $iTag, $sComando);
if (!empty($aArquivosTaggeados)) {
foreach ($aArquivosTaggeados as $sArquivo) {
$oOutput->writeln("<info>Arquivo com tag atualizada: " . $this->getApplication()->clearPath($sArquivo) . "</info>");
}
}
}