Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Lady01

Getters e Setters de classe não funcionam adequadamente

Recommended Posts

21 minutos atrás, Ana Gauna disse:

Esperiência, eu já vi acontecer, e com arquivo importante do setor de contabilidade.  Salvação, tinha backup.


Não é pq duas coisas acontecem ao mesmo tempo, que uma foi causa da outra.
Até Einstein precisou comprovar sua teoria por meio de dados, com todo o respeito, sua experiencia não é um dado técnico, e você sendo da área, não deveria argumentar dessa forma. 

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 minuto atrás, EdCesar disse:


Não é pq duas coisas acontecem ao mesmo tempo, que uma foi causa da outra.
Até Einstein precisou comprovar sua teoria por meio de dados, com todo o respeito, sua experiencia não é um dado técnico, e você sendo da área, não deveria argumentar dessa forma. 

 

 

Eu sei o que é um dado importante para um usuário, e eu sei o desespero que um usuário sofre quando perde todo o dado.

Dependendo do tipo de trabalho que está sendo desenvolvido, o usuário perder um dado (informação) é igual demissão,

se uma pessoa está trabalhando com um arquivo, e o arquivo se perde, e por isso o trabalho não é entregue ao chefe,

tem chefe que demite com a devida justa causa, principalmente se o trabalho tinha prazo para ficar pronto. Se eu sei

como fazer para evitar um problema, eu sempre tomo as minhas providências para anular os problemas antes de acontecer.

Eu já vi pessoas perderem seus arquivos no meu ex-emprego, eu já li técnicos perderem um disco rígido inteiro com

indormações dentro, em mensagens no fórum técnico do Technet.  O que eu mencionei pode causar perda total da

informação, pode causar a perda total de um diretório.  E se o computador está com voltagem instável perda total do

disco rígido.  Eu sei por experiência própria o que tem que ser feito para ser evitado de ocorrer essa perda total...

Eu já vi anos atrás pessoas perderem total o arquivo ou o diretório que continha tudo o que estavam trabalhando.

A salvação dessas pessoas é, eu presteu atenção neles, eu fiz um backup de tudo, e sem eles saber, tinha backup.

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas isso não tem nada a ver com os espaços e pontos nos nomes. isso foi problema do hd e não dos nomes dos arquivos. como falei pode ser que o disco já tivesse problemas de setores defeituosos ou uma falha na corrente tenha dado curto nele mas aí os nomes de arquivos e pastas não tem nada a ver com o caso

Compartilhar este post


Link para o post
Compartilhar em outros sites

No meu ex-emprego foi chamado um eletricista anos atrás que colocou um multimetro medindo a tomada elétrica durante uma semana inteira, ele fazia anotações de hora em hora, nessa época com isso, foi detectado variação de energia na tomada elétrica, e se assumiu como sendo uma das causas dos problemas terem ocorrido.  

O que eu disse de problema com arquivo e diretório contendo acentos, cedilha, espaço, costuma dar problema depois.

Eu já vi pessoas perderem tudo o que estava trabalhando. Tinha backup. Eu voltei com o que tinham perdido, e eu alterei 

o nome do arquivo e eu alterei o nome do diretório, para o que eu acho o correto, e eles nunca mais tiveram esse tipo de problema novamente.  Depois que perderam um trabalho, eles pararam de cirmar em fazer o que dizia que não era para fazer.

Compartilhar este post


Link para o post
Compartilhar em outros sites
2 minutos atrás, marsolim disse:

mas isso não tem nada a ver com os espaços e pontos nos nomes. isso foi problema do hd e não dos nomes dos arquivos. como falei pode ser que o disco já tivesse problemas de setores defeituosos ou uma falha na corrente tenha dado curto nele mas aí os nomes de arquivos e pastas não tem nada a ver com o caso

 

 

Ok. Então faz como você quer.  Quando perder total algum trabalho...  Eu vou dizer...     Eu falei para não fazer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Ana Gauna Não duvido da sua atenção com o usuário, que inclusive acho muito bacana, também não duvido das suas experiências de trabalho. Essas experiências certamente ajudam a dar um norte, mas não são validas como dados técnicos, principalmente para esse caso em especifico, no contexto do PHP, como o @Williams Duarte bem explicou, foi apenas para isso que chamei a atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas eu insisto que não foi problema com os nomes de arquivos a não ser que isso tenha sido umas décadas atrás nos tempos do ms-dos que não era bom em lidar com nomes padrão pt. claro que sempre temos que ter backup de todos os arquivos importantes isso é lei nesse mundo eu nunca começo alterar uma página sequer sem antes me certificar que fiz uma cópia dela pro caso de dar algum problema eu voltar com a anterior mas problema relativo a uma queda de energia ou algum erro no disco ou mesmo queda de conexão porque nomes de arquivos e pastas eu insisto que não causa esse tipo de problema, não nos dias de hoje, não nos últimos 15 anos pelo menos que frequento muitos fóruns já fiz muitos trabalhos não necessariamente de programação porque em programação sou relativamente novo mas tenho anos de experiência com sistemas operacionais e manutenção de computadores e como eu disse antes a própria microsoft não ia ter essa pratica se ela fosse danosa, quem mais conhece o windows alem dela? isso não podemos negar :smile:

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 28/04/2017 at 22:57, Lady01 disse:

Estou tentando manipular uma classe com seus getters e setters e não estou conseguindo. Tentando explicar melhor: Eu setto cada atributo do objeto dessa classe, depois dou echo neles e não imprime o esperado, também não exibe erro nenhum. Alguém já passou por isso? Ou será que mudou algo dessa parte e eu não estou sabendo?

A classe:


<?php
class Paciente
{
    private $id;
    private $id_plano;
    private $nome;
    private $email;
    private $data_nascimento;
    private $status;
    private $endereco;
     public function Paciente() {
         }
    
     public function getId(){
        return $this->id;
    }
    public function setId($id){
        $this->id = $id;
    }
     public function getId_Plano(){
        return $this->id_plano;
    }
    public function setId_Plano($id_plano){
        $this->id = $id_plano;
    }
     
    public function getNome(){
        return $this->nome;
    }
    public function setNome($nome){
        $this->nome = $nome;
    }
     public function getEmail(){
        return $this->email;
    }
    public function setEmail($email){
        $this->nome = $email;
    }
     public function getData_nascimento(){
        return $this->data_nascimento;
    }
    public function setData_nascimento($data_nascimento){
        $this->nome = $data_nascimento;
    }
    public function getStatus(){
        return $this->status;
    }
    public function setStatus($status){
        $this->nome = $status;
    }
    public function getEndereco(){
        return $this->endereco;
    }
    public function setEndereco($endereco){
        $this->nome = $endereco;
    }
    
    
}
?>

O teste:


include('Paciente.class.php');
$paciente = new Paciente();
$paciente->setId(1);
$paciente->setId_Plano(2);
$paciente->setNome('clarice');
$paciente->setEmail('clarice@gmail.com');
$paciente->setData_nascimento('04/12/2016');
$paciente->setStatus(1);
$paciente->setEndereco('Rua xcfgvhbjnkm,fgvhbjnkm');
echo "<br>id ".$paciente->getId();
echo "<br>idPlano ".$paciente->getId_Plano();
echo "<br>nome ".$paciente->getNome();
echo "<br>email ".$paciente->getEmail();
echo "<br>data ".$paciente->getData_nascimento();
echo "<br>status ".$paciente->getStatus();
echo "<br>endereco ".$paciente->getEndereco();
var_dump($paciente);

O que imprime:

id 2
idPlano 
nome Rua xcfgvhbjnkm,fgvhbjnkm
email 
data 
status 
endereco


object(Paciente)[1]
  private 'id'   
  private 'id_plano'  
  private 'nome'    (length=25)
  private 'email'  
  private 'data_nascimento'  
  private 'status'  
  private 'endereco'  
 

 

Qual é a versão do HTML que está usando com esse código PHP?  Vi hoje num site que o PHP junto com o HTML5 

no comando INCLUDE esses parênteses não é mais utilizado:  https://www.w3schools.com/php/php_includes.asp

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
26 minutos atrás, marsolim disse:

mas eu insisto que não foi problema com os nomes de arquivos a não ser que isso tenha sido umas décadas atrás nos tempos do ms-dos que não era bom em lidar com nomes padrão pt. claro que sempre temos que ter backup de todos os arquivos importantes isso é lei nesse mundo eu nunca começo alterar uma página sequer sem antes me certificar que fiz uma cópia dela pro caso de dar algum problema eu voltar com a anterior mas problema relativo a uma queda de energia ou algum erro no disco ou mesmo queda de conexão porque nomes de arquivos e pastas eu insisto que não causa esse tipo de problema, não nos dias de hoje, não nos últimos 15 anos pelo menos que frequento muitos fóruns já fiz muitos trabalhos não necessariamente de programação porque em programação sou relativamente novo mas tenho anos de experiência com sistemas operacionais e manutenção de computadores e como eu disse antes a própria microsoft não ia ter essa pratica se ela fosse danosa, quem mais conhece o windows alem dela? isso não podemos negar :smile:

 

 

Não foi décadas atrás que esse problema aconteceu.  O usuário usava o Windows 7 quando teve a perda total do arquivo junto com a perda total do diretório onde outro arquivo dele estava guardado.  Aconteceu em 2012 ou 2013. Tinha backup feito.  Ele somente perdeu uma semana de trabalho, o resto estava salvo dentro do backup.  Se tudo perdesse, era demissão justa causa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

então definitivamente não foi causada por nomes de pastas ou arquivos se é tão recente. deve ter sido realmente problema de bad sector no hd ou algo assim

Compartilhar este post


Link para o post
Compartilhar em outros sites
22 minutos atrás, Rapadura disse:

Tem uns cara que viaja não é possível   rsrs

 

@Rapadura   Não.  Em um ambiente de trabalho, se um funcionário perde o trabalho por inteiro, chefe demite com justa causa.

Eu estava falando sobre o problema de usar acentos, cedilha, pontos, etc, em nome de arquivo e diretórios, e que quando o disco rigido apresenta problemas justamente nesse item que foi criado pelo usuário tal funcionario de empresa, chefe demite.  

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Ana Gauna Talvez essas situações ocorressem há 22 anos atrás. Entretanto, a computação evoluiu nesse e em inúmeros outros pontos.

 

Alguns pontos a serem destacados:

  • PHP é indiferente ao HTML:
    • Não importa a versão do PHP nem a do HTML, um é totalmente independente do outro;
    • include/require é um contrutor da linguagem. Além de outros comportamentos, isso faz com que o uso de parênteses seja opcional.
  • Extensão de arquivo:
    • O PHP interpreta a extensão do arquivo como o text que estiver após o último ponto (exemplo: https://3v4l.org/9fAib)
    • Caso o filename acabar em ponto, o arquivo não possuí extensão (https://3v4l.org/eIBUJ);
    • Os sistemas operacionais trabalham de forma interna, entretanto, nunca tive esse problema com PHP (seja em linux ou windows);
    • Sistemas operacionais usam flags para definir se é um arquivo ou diretório, no mais, é o proprio filename que define sua extensão.
    • Nota:
    • Citar

      Many file systems, including FAT, NTFS, and VMS systems, allow a filename extension that consists of one or more characters following the last period in the filename, dividing the filename into two parts: a base name or stem and an extension or suffix used by some applications to indicate the file type. Multiple output files created by an application use the same basename and various extensions. For example, a compiler might use the extension FOR for source input file (for Fortran code), OBJ for the object output and LSTfor the listing. Although there are some common extensions, they are arbitrary and a different application might use REL and RPT. On filesystems that do not segregate the extension, files will often have a longer extension such as html.

      4

       

  • Nomes de arquivos:
    • Existem caracteres que são reservados, no mais, o sistema operacional trata os demais para poderem ser acessados e , hoje em dia, é extendido até caracteres Unicode (pode ver aqui , aqui , aqui e aqui);
  • Corromper arquivos:
    • qualquer arquivo é passível de ser corrompido. É mais provável que arquivos grandes possuam uma maior chance de ser corrompidos (vide ao sistema de gerenciamento de espaço ).

No mais, a discussão não está agregando em nada ao problema solicitado pelo autora do post e será fechado. Post, o qual, foi solucionado pela primeira resposta:

Caso a autora deseja reabrir o post, pode solicitar a qualquer um dos moderadores ou abrir um novo tópico.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
Este tópico está impedido de receber novos posts.

  • Conteúdo Similar

    • Por daemon
      Boa tarde,
       
      Eu tenho uma rotina que faz uma leitura do arquivo .xml de vários sites.

      Eu consigo pegar o tópico e a descrição, e mostrar a imagem que esta na pagina do link.
      Para isso utilizo esta função:
      function getPreviewImage($url) { // Obter o conteúdo da página $html = file_get_contents($url); // Criar um novo objeto DOMDocument $doc = new DOMDocument(); @$doc->loadHTML($html); // Procurar pela tag meta og:image $tags = $doc->getElementsByTagName('meta'); foreach ($tags as $tag) { if ($tag->getAttribute('property') == 'og:image') { return $tag->getAttribute('content'); } } // Se não encontrar og:image, procurar pela primeira imagem na página $tags = $doc->getElementsByTagName('img'); if ($tags->length > 0) { return $tags->item(0)->getAttribute('src'); } // Se não encontrar nenhuma imagem, retornar null return null; } // Uso: $url = "https://example.com/article"; $imageUrl = getPreviewImage($url); if ($imageUrl) { echo "<img src='$imageUrl' alt='Preview'>"; } else { echo "Nenhuma imagem encontrada"; }  
      Mas estou com um problema, esta funcão funciona quando coloco em uma pagina de teste.php. Preciso mostrar em uma página inicial diversas fotos de todos os links. (No caso acima só funciona 1).
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, me permita tirar uma dúvida com os amigos.

      Tenho um Formulário onde o Usuário digita todos os Dados necessários.

      Minha dúvida:
      --> como faço após o usuário digitar os dados e salvar, o Sistema chamar uma Modal ou mensagem perguntando se deseja imprimir agora ?

      Grato,
       
      Cesar
    • Por Carcleo
      Tenho uma abela de usuarios e uma tabela de administradores e clientes.
      Gostaria de uma ajuda para implementar um cadastro
       
      users -> name, login, passord (pronta) admins -> user_id, registratiom, etc.. client -> user_id, registratiom, etc...
      Queria ajuda para extender de user as classes Admin e Client
      Olhem como estáAdmin
      <?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Admin extends User {     use HasFactory;            protected $fillable = [         'name',         'email',         'password',         'registration'     ];      private string $registration;     public function create(         string $name,          string $email,          string $password,         string $registration     )     {         //parent::create(['name'=>$name, 'email'=>$email, 'password'=>$password]);         parent::$name = $name;         parent::$email = $email;         parent::$password = $password;         $this->registration = $registration;     } } User
      <?php namespace App\Models; // use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Illuminate\Database\Eloquent\Relations\BelongsToMany; class User extends Authenticatable {     /** @use HasFactory<\Database\Factories\UserFactory> */     use HasFactory, Notifiable;     static string $name;     static string $email;     static string $password;     /**      * The attributes that are mass assignable.      *      * @var list<string>      */     protected $fillable = [         'name',         'email',         'password',     ];          /**      * The attributes that should be hidden for serialization.      *      * @var list<string>      */     protected $hidden = [         'remember_token',     ];     /**      * Get the attributes that should be cast.      *      * @return array<string, string>      */     protected function casts(): array     {         return [             'email_verified_at' => 'datetime',             'password' => 'hashed',         ];     }          public function roles() : BelongsToMany {         return $this->belongsToMany(Role::class);     }       public function hasHole(Array $roleName): bool     {                 foreach ($this->roles as $role) {             if ($role->name === $roleName) {                 return true;             }         }         return false;     }         public function hasHoles(Array $rolesName): bool     {                 foreach ($this->roles as $role) {             foreach ($rolesName as $rolee) {             if ($role->name === $rolee) {                 return true;             }          }         }         return false;     }         public function hasAbility(string $ability): bool     {         foreach ($this->roles as $role) {             if ($role->abilities->contains('name', $ability)) {                 return true;             }         }         return false;     }     } Como gravar um Admin na tabela admins sendo que ele é um User por extensão?
      Tentei assim mas é claro que está errado...
      public function store(Request $request, Admin $adminModel) {         $dados = $request->validate([             "name" => "required",             "email" => "required|email",             "password" => "required",             "registration" => "required"         ]);         $dados["password"] =  Hash::make($dados["password"]);                  $admin = Admin::where("registration",  $dados["registration"])->first();                  if ($admin)              return                    redirect()->route("admin.new")                             ->withErrors([                                 'fail' => 'Administrador já cadastrados<br>, favor verificar!'                   ]);                            $newAdmin = $adminModel->create(                                    $dados['name'],                                    $dados['email'],                                    $dados['password'],                                    $dados['registration']                                 );         dd($newAdmin);         $adminModel->save();         //$adminModel::create($admin);                  return redirect()->route("admin.new")->with("success",'Cadastrado com sucesso');     }  
    • Por violin101
      Caros amigos, saudações.
       
      Gostaria de tirar uma dúvida com os amigos, referente a PDV.
       
      Estou escrevendo um Sistema com Ponto de Vendas, a minha dúvida é o seguinte, referente ao procedimento mais correto.

      Conforme o caixa vai efetuando a venda, o Sistema de PDV já realiza:
      a baixa direto dos produtos no estoque
      ou
      somente após concretizar a venda o sistema baixa os produtos do estoque ?
       
      Grato,
       
      Cesar
       
    • Por violin101
      Caros amigos do grupo, saudações e um feliz 2025.
       
      Estou com uma pequena dúvida referente a Teclas de Atalho.

      Quando o Caps Lock está ativado o Comando da Tecla de Atalho não funciona.
      ou seja:
      se estiver para letra minúscula ====> funciona
      se estiver para letra maiúscula ====> não funciona
       
      Como consigo evitar essa falha, tanto para Letra Maiúscula quanto Minúscula ?

      o Código está assim:
      document.addEventListener( 'keydown', evt => { if (!evt.ctrlKey || evt.key !== 'r' ) return;// Não é Ctrl+r, portanto interrompemos o script evt.preventDefault(); });  
      Grato,
       
      Cesar
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.