php 와 java에서 string 사용시 큰차이
php에서 배열을 키 벨류 처럼 쉽게 사용할때도 충격이었지만
이번에 두번째 충격을 받았다
$A는 가상의 이름이다
회사에서 코딩중에 new $A(매개인자 , 매개인자 , 매개인자 ); 코딩이 되어있는것을 보았다
그래서 A클래스의 생성자를 까볼려고 A 클래스를 찾았는데 아무리 찾아도 찾아도 없는것이었다
삽질하다가 알아본 즉슨 ....
위에서 $A = "CreatedbAcess" 이런식으로 선언을 해주고
아래서는 new $A(매개인자 , 매개인자 , 매개인자 ) 이렇게 쓴것이었다
즉 new $A(매개인자 , 매개인자 , 매개인자 ) 는
new $CreatedbAcess(매개인자 , 매개인자 , 매개인자) 였던 것이다.
---------------------------------------------
또한번 정리하자면 CD 클래스가 있다는 가정하에 자바에서테스트 한결과
String a= "CD";
Object d=new a();
이러면 바로 에러
하지만 PHP에서는 두번째줄을 Object d=new CD(); 로인식을 해서 먹힌다
자바 -----------------------------------
String a= "abc";
String b=new String("abc");
Object c=new String("abc");
System.out.println(a);
System.out.println(b);
System.out.println(c);
if(a.equals(b)){
System.out.println("a");
}
if(b.equals(c)){
System.out.println("b");
}
if(c.equals(a)){
System.out.println("c");
}
------------------------